@font-face{
  font-family:'unicons';
  src:url('../font/unicons.woff2?42479262') format('woff2');
  font-weight:normal;
  font-style:normal;
  font-display:swap;
}

body {
  font-family: "Maven Pro", sans-serif;
  padding-top: 70px;
}

.full-screen {
  padding: 8rem 0;
}

.small-text {
  color: #5b5b5b;
  font-size: 14px;
  font-weight: bold;
  padding: 8px 16px;
  border-radius: 50px;
  letter-spacing: 0.2px;
}

ul {
  margin: 0;
  padding: 0;
}
ul li {
  list-style: none;
}

a {
  font-weight: normal;
  text-decoration: none !important;
  transition: all 0.4s ease;
}
a:hover {
  color: #ffc200 !important;
}

.navbar-brand .uil {
  font-size: 40px;
}

p {
  font-size: 18px;
  font-weight: 300;
  line-height: 1.5;
  color: #5b5b5b;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  letter-spacing: -1px;
}

h1 {
  color: #212121;
  font-size: 2.8em;
  margin: 24px 0;
}

h2 {
  color: #353535;
  font-size: 2.4em;
  font-weight: bold;
}

h3 {
  color: #484848;
}

h3,
b, strong {
  font-weight: bold;
}

.custom-btn {
  background: #eee;
  color: #5b5b5b;
  font-weight: bold;
  border-radius: 50px;
  padding: 13px 29px;
  font-size: 14px;
  line-height: normal;
  overflow: hidden;
  transition: all 0.4s ease;
}
.custom-btn:hover {
  color: #ffc200;
}
.custom-btn.custom-btn-bg {
  background: #474559;
  color: #ffffff;
}
.custom-btn.custom-btn-bg:hover {
  background: #ffc200;
  color: #ffffff !important;
}

.animated {
  position: relative;
}

.animated-info {
  display: inline-block;
  vertical-align: top;
  margin-top: 5px;
  min-width: 260px;
  position: relative;
}

.animated-item {
  color: #ffc200;
}

.animated-item {
  font-size: 38px;
  line-height: inherit;
  display: block;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  animation: BottomTotop 6s linear infinite 0s;
}
.animated-item:nth-child(2n+2) {
  animation-delay: 2s;
}
.animated-item:nth-child(3n+3) {
  animation-delay: 4s;
}

@keyframes BottomTotop {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 0;
    transform: translateY(5px);
  }
  10% {
    opacity: 1;
    transform: translateY(0px);
  }
  25% {
    opacity: 1;
    transform: translateY(0px);
  }
  30% {
    opacity: 0;
    transform: translateY(5px);
  }
  80% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.navbar {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 999999;
  will-change: transform;
  transition: transform 200ms linear;
}
.navbar[class*="-unpinned"] {
  transform: translate(0, -150%);
}
.navbar[class*="-pinned"] {
  transform: translate(0, 0);
}
.navbar[class*="headroom--not-top"] {
  background: #ffffff;
  border-bottom: 1px solid #f0f0f0;
  padding-top: 0;
  padding-bottom: 0;
}

.navbar-brand {
  font-weight: bold;
}

.navbar-expand-sm .navbar-nav .nav-link {
  padding: 0 20px;
}

.nav-link {
  font-weight: bold;
  font-size: 16px;
  overflow: hidden;
}
.nav-link span {
  position: relative;
  display: inline-block;
  transition: transform 0.3s;
}
.nav-link span:before {
  position: absolute;
  top: 100%;
  content: attr(data-hover);
  transform: translate3d(0, 0, 0);
}

.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover {
  color: #ffc200;
  font-weight: bold;
}
.navbar-light .navbar-nav .nav-link:focus span,
.navbar-light .navbar-nav .nav-link:hover span {
  transform: translateY(-100%);
}

.navbar-light .navbar-toggler-icon {
  background: none;
}

.navbar-toggler {
  border: 0;
  padding: 0;
  width: 32px;
  height: 32px;
  line-height: 32px;
  outline: none;
  cursor: pointer;
  margin-right: 10px;
}
.navbar-toggler:focus {
  outline: none;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:first-child {
  transform: rotate(45deg);
  top: 6px;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-child(2) {
  display: none;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:last-child {
  transform: rotate(-45deg);
  bottom: 1px;
}
.navbar-toggler .navbar-toggler-icon {
  background: #212121;
  display: block;
  width: 100%;
  height: 2px;
  margin: 5px 0;
  transition: all 0.4s ease;
  position: relative;
}

.copyright-text {
  font-size: 16px;
  font-weight: normal;
  display: block;
}

.color-mode {
  font-weight: bold;
  cursor: pointer;
}

.color-mode-icon {
  position: relative;
  right: 6px;
}
.color-mode-icon:after {
  font-family: 'unicons';
  content: '\ea9f';
  font-size: 30px;
  font-weight: 300;
  font-style: normal;
}
.color-mode-icon.active:after {
  font-family: 'unicons';
  content: '\eb65';
  font-size: 30px;
  color: #ffffff;
}

.dark-mode {
  background: #0c0c0d;
}
.dark-mode .navbar-light .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.8);
}
.dark-mode .navbar-light .navbar-nav .nav-link:hover {
  color: #ffc200;
}
.dark-mode .navbar[class*="headroom--not-top"] {
  background: #0c0c0d;
  border-bottom: 1px solid #1f1f1f;
}
.dark-mode .small-text {
  background: #0d0c15;
  color: #ffffff;
}
.dark-mode .feature-card .uil,
.dark-mode .navbar-light .navbar-brand,
.dark-mode h1, .dark-mode h2, .dark-mode h3, .dark-mode h4, .dark-mode h5, .dark-mode h6,
.dark-mode .color-mode {
  color: #ffffff;
}
.dark-mode .owl-carousel .owl-nav button.owl-next,
.dark-mode .owl-carousel .owl-nav button.owl-prev,
.dark-mode .owl-carousel button.owl-dot {
  color: #ffffff;
}

.timeline-wrapper {
  position: relative;
  padding: 22px 0;
}
.timeline-wrapper:last-child:before {
  height: 0;
}
.timeline-wrapper:before {
  content: "";
  background: #474559;
  width: 3px;
  height: 100%;
  position: absolute;
  left: 38px;
}

.timeline-yr {
  background: #474559;
  border-radius: 100%;
  position: absolute;
  width: 75px;
  height: 75px;
  line-height: 75px;
  text-align: center;
}
.timeline-yr span {
  color: #ffffff;
  font-size: 16px;
  font-weight: bold;
  display: block;
  line-height: 75px;
}

.timeline-info {
  display: inline-block;
  vertical-align: top;
  max-width: 432px;
  margin-left: 6em;
}
.timeline-info small {
  color: #474559;
  font-size: 16px;
  font-weight: bold;
  display: inline-block;
  vertical-align: middle;
  margin-left: 15px;
}

.owl-carousel .owl-nav span {
  display: none;
}
.owl-carousel .owl-nav .owl-prev:before,
.owl-carousel .owl-nav .owl-next:before {
  background: none;
  padding: 0;
  display: block;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  font-family: 'unicons';
  font-size: 100px;
  line-height: normal;
}
.owl-carousel .owl-nav .owl-prev:before {
  content: '\e833';
  left: -45px;
}
.owl-carousel .owl-nav .owl-next:before {
  content: '\e836';
  right: -45px;
}

.owl-theme .owl-nav [class*=owl-] {
  background: none;
  border-radius: 0;
  margin: 0;
  padding: 0;
  font-size: inherit;
}
.owl-theme .owl-nav [class*=owl-]:hover {
  color: #ffc200;
}
.owl-theme .owl-dots .owl-dot {
  outline: none;
}
.owl-theme .owl-dots .owl-dot span {
  width: 8px;
  height: 8px;
}
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
  background: #5b5b5b;
}

.google-map iframe {
  width: 100%;
}

.contact-form {
  position: relative;
}
.contact-form .form-control {
  background: transparent;
  border-radius: 2px;
  outline: none;
  box-shadow: none;
  font-weight: bold;
  margin: 16px 0;
}
.contact-form .form-control:not(textarea) {
  height: 48px;
}
.contact-form .form-control:hover, .contact-form .form-control:focus {
  border-color: #ffc200;
}
.contact-form .submit-btn {
  background: #ffc200;
  border-radius: 50px;
  color: #ffffff;
  font-weight: bold;
  border: 0;
  cursor: pointer;
  transition: all 0.4s ease;
}
.contact-form .submit-btn:hover {
  background: #474559;
}

.contact-info {
  background: #474559;
  border-radius: 0 0 3px 3px;
  position: relative;
  bottom: 8px;
}
.contact-info p, .contact-info a {
  color: #f7f3f3;
}

.social-links .uil {
  color: #f7f3f3;
  font-size: 20px;
  display: block;
  margin: 5px 0;
}
.social-links .uil:hover {
  color: #ffc200;
}

@media (min-width: 1270px) {
  .owl-theme .owl-dots {
    position: relative;
    bottom: 50px;
  }
}
@media (max-width: 991px) {
  .full-screen {
    padding-bottom: 4rem;
  }

  .color-mode {
    display: none;
  }

  .about-image {
    margin-top: 4em;
  }

  .mobile-mt-2,
  .contact-form {
    margin-top: 2em;
  }

  .contact-info {
    padding: 0 2rem;
  }
}
@media (max-width: 767px) {
  h1 {
    font-size: 2.4em;
  }

  h2 {
    font-size: 2em;
  }

  .animated-item {
    font-size: 28px;
  }

  .navbar-collapse {
    background: #ffffff;
    text-align: center;
    padding-bottom: 20px;
  }

  .navbar-expand-sm .navbar-nav .nav-link {
    padding: 3px 20px;
  }
}
@media (max-width: 580px) {
	.animated-info {
		min-width: 200px;
	}
  .animated-item {
    font-size: 30px;
  }

  .custom-btn-group {
    text-align: center;
  }

  .custom-btn {
    display: block;
    margin: 10px 0;
  }

  .owl-theme .owl-nav {
    display: none;
  }

  .timeline-info small {
    display: block;
    margin: 10px 0 0 0;
  }
}
@media (max-width: 320px) {
  .animated-text {
    margin-top: 0;
  }

  .about-text {
    text-align: center;
  }

  .full-screen {
    padding: 4rem 0;
  }

  .mobile-block {
    display: block;
  }

  .contact-info {
    flex-direction: column;
  }

  .social-links li {
    display: inline-block;
    vertical-align: top;
  }
}

:root{
  --pl-bg:#0d0f0d;
  --pl-panel:#141814;
  --pl-text:#f5f0e8;
  --pl-muted:#7b746a;
  --pl-green:#a5f3a1;
  --pl-yellow:#ffc200;
  --pl-blue:#676cff;
}
body{
  overflow-x:hidden;
}
.brand-badge{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  margin-right:8px;
  border-radius:999px;
  background:#212121;
  color:#ffc200;
  font-size:14px;
  vertical-align:middle;
}
.dark-mode .brand-badge{
  background:#ffc200;
  color:#0d0f0d;
}
.section-kicker{
  display:inline-block;
  margin-bottom:14px;
  color:#ffc200;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:12px;
}
.hero-lab-card img{
  border-radius:34px;
  filter:drop-shadow(0 28px 60px rgba(0,0,0,.16));
}
.project-carousel .item{
  padding:18px;
}
.project-card{
  position:relative;
  overflow:hidden;
  min-height:520px;
  border-radius:34px;
  background:#141814;
  box-shadow:0 24px 70px rgba(0,0,0,.12);
}
.project-card img{
  width:100%;
  height:340px;
  object-fit:cover;
  background:#f4f1e9;
}
.project-copy{
  padding:24px 26px 28px;
  text-align:left;
}
.project-copy span{
  display:inline-block;
  margin-bottom:10px;
  color:#ffc200;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.project-copy h3{
  margin:0 0 10px;
  color:#ffffff;
  font-size:32px;
  letter-spacing:-1.8px;
}
.project-copy p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:16px;
}
.stack-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.stack-pills span{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:9px 13px;
  background:#f1f1f1;
  color:#474559;
  font-weight:700;
  font-size:13px;
}
.dark-mode .stack-pills span{
  background:#141814;
  color:#f5f0e8;
  border:1px solid #252a22;
}
.contact-panel{
  height:100%;
  min-height:330px;
  border-radius:28px;
  padding:34px;
  background:#474559;
  color:#ffffff;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.contact-panel h3{
  color:#ffffff;
  font-size:36px;
  margin-bottom:16px;
}
.contact-panel p,
.contact-panel a{
  color:rgba(255,255,255,.84);
}
.form-note{
  font-size:14px;
  color:#777;
  margin-top:-12px;
}
.dark-mode .form-note{
  color:#a9a39a;
}
.dark-mode .project-card{
  background:#141814;
}
.dark-mode .contact-form .form-control{
  color:#ffffff;
  border-color:#2b2b2b;
}
.dark-mode .contact-form .form-control::placeholder{
  color:#9d958b;
}
.dark-mode .navbar-collapse{
  background:#0c0c0d;
}
.dark-mode p{
  color:#a9a39a;
}
.dark-mode .timeline-info small{
  color:#ffc200;
}
.dark-mode .stack-timeline .timeline-yr,
.dark-mode .timeline-wrapper:before{
  background:#ffc200;
}
.dark-mode .stack-timeline .timeline-yr span{
  color:#0c0c0d;
}
@media (max-width:991px){
  .project-card{
    min-height:auto;
  }
  .project-card img{
    height:300px;
  }
  .contact-panel{
    min-height:auto;
    margin-bottom:24px;
  }
}
@media (max-width:767px){
  body{
    padding-top:64px;
  }
  .navbar-brand{
    font-size:18px;
  }
  .brand-badge{
    width:30px;
    height:30px;
  }
  .about.full-screen{
    padding-top:4rem;
  }
  .hero-lab-card img{
    border-radius:24px;
  }
  .project-card{
    border-radius:24px;
  }
  .project-card img{
    height:240px;
  }
  .project-copy{
    padding:20px;
  }
  .project-copy h3{
    font-size:27px;
  }
  .timeline-info{
    max-width:calc(100% - 6em);
  }
  .contact-panel{
    border-radius:22px;
    padding:24px;
  }
}
@media (max-width:480px){
  .project-carousel .item{
    padding:8px;
  }
  .project-card img{
    height:210px;
  }
  .animated-info{
    min-width:220px;
  }
}

.github-projects-section{
  position:relative;
  overflow:hidden;
}
.github-projects-section:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,194,0,.10), transparent 24%),
    radial-gradient(circle at 92% 18%, rgba(102,108,255,.11), transparent 22%),
    radial-gradient(circle at 54% 92%, rgba(165,243,161,.08), transparent 28%);
}
.github-projects-section .container{
  position:relative;
  z-index:1;
}
.projects-intro{
  max-width:760px;
  margin:0 auto 34px;
  color:#777;
}
.dark-mode .projects-intro{
  color:#a9a39a;
}
.github-project-grid{
  width:min(1120px, 100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}
.github-project-card{
  position:relative;
  overflow:hidden;
  min-height:100%;
  border:1px solid #e8e8e8;
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 10px 30px rgba(0,0,0,.04);
  transform:translateY(0);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
}
.github-project-card:hover{
  transform:translateY(-9px);
  box-shadow:0 26px 70px rgba(0,0,0,.14);
  border-color:#ffc200;
}
.github-project-card.featured{
  border-color:rgba(255,194,0,.55);
}
.github-project-card.muted-card{
  opacity:.92;
}
.project-image-link{
  display:block;
  overflow:hidden;
  background:#f5f5f5;
}
.project-image-link img{
  display:block;
  width:100%;
  aspect-ratio:1 / 1.18;
  object-fit:cover;
  transform:scale(1);
  transition:transform .42s ease, filter .42s ease;
}
.github-project-card:hover .project-image-link img{
  transform:scale(1.06);
  filter:saturate(1.08) contrast(1.03);
}
.github-project-body{
  padding:22px 22px 24px;
  text-align:left;
}
.github-project-body h3{
  margin:0 0 8px;
  color:#212121;
  font-size:20px;
  line-height:1.18;
  letter-spacing:-.4px;
}
.project-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0 0 18px;
  padding:6px 10px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  line-height:1;
}
.project-status.published{
  background:rgba(61, 206, 113, .14);
  color:#15723a;
}
.project-status.development{
  background:rgba(255,194,0,.16);
  color:#8a6500;
}
.project-status.neutral{
  background:#eeeeee;
  color:#555;
}
.github-project-body p:not(.project-status){
  color:#555;
  font-size:15px;
  line-height:1.55;
  margin-bottom:20px;
}
.project-link-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.project-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:9px 13px;
  border-radius:999px;
  background:#474559;
  color:#ffffff;
  font-weight:700;
  font-size:13px;
  transition:background .22s ease, color .22s ease, transform .22s ease;
}
.project-link:hover{
  background:#ffc200;
  color:#111111;
  transform:translateY(-2px);
}
.project-link.secondary{
  background:#f1f1f1;
  color:#474559;
}
.project-link.secondary:hover{
  background:#a5f3a1;
  color:#111111;
}
.dark-mode .github-project-card{
  background:#141814;
  border-color:#252a22;
  box-shadow:none;
}
.dark-mode .github-project-card:hover{
  border-color:#ffc200;
  box-shadow:0 24px 80px rgba(0,0,0,.34);
}
.dark-mode .project-image-link{
  background:#0d0f0d;
}
.dark-mode .github-project-body h3{
  color:#ffffff;
}
.dark-mode .github-project-body p:not(.project-status){
  color:#a9a39a;
}
.dark-mode .project-status.neutral{
  background:#252a22;
  color:#c9c4bb;
}
.dark-mode .project-link.secondary{
  background:#252a22;
  color:#f5f0e8;
}
@media (max-width:991px){
  .github-project-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width:767px){
  .github-project-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .projects-intro{
    margin-bottom:24px;
  }
  .github-project-body{
    padding:20px;
  }
  .project-image-link img{
    aspect-ratio:16 / 10;
  }
}

.timeline-scroll-note{
  max-width:520px;
  margin:-10px 0 34px;
  color:#777;
  font-size:15px;
  line-height:1.45;
}
.dark-mode .timeline-scroll-note{
  color:#a9a39a;
}
.process-timeline{
  position:relative;
}
.process-timeline .timeline-progress-line{
  position:absolute;
  left:38px;
  top:0;
  width:4px;
  height:var(--timeline-progress, 0%);
  max-height:calc(100% - 86px);
  border-radius:999px;
  background:#ffc200;
  z-index:0;
  transform:translateX(-50%);
  transition:height .18s linear;
}
.process-timeline .timeline-wrapper{
  opacity:.42;
  transform:translateX(0);
  transition:opacity .28s ease, transform .28s ease;
}
.process-timeline .timeline-wrapper.is-active,
.process-timeline .timeline-wrapper.is-complete{
  opacity:1;
}
.process-timeline .timeline-wrapper.is-active{
  transform:translateX(8px);
}
.process-timeline .timeline-wrapper.is-active .timeline-info h3 span{
  color:#ffc200;
}
.process-timeline .timeline-wrapper.is-active .timeline-yr,
.process-timeline .timeline-wrapper.is-complete .timeline-yr{
  background:#ffc200;
  transform:scale(1.06);
  box-shadow:0 16px 34px rgba(255,194,0,.22);
}
.process-timeline .timeline-wrapper.is-active .timeline-yr span,
.process-timeline .timeline-wrapper.is-complete .timeline-yr span{
  color:#111111;
}
.process-timeline .timeline-wrapper .timeline-yr{
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.dark-mode .process-timeline .timeline-progress-line{
  background:#ffc200;
}
.dark-mode .process-timeline .timeline-wrapper.is-active .timeline-info h3 span{
  color:#ffc200;
}


@media (min-width: 992px){
  .pinned-timeline-section{
    min-height:420vh;
    padding-top:0 !important;
    padding-bottom:0 !important;
    display:block !important;
    position:relative;
  }
  .pinned-timeline-section > .container{
    position:sticky;
    top:0;
    min-height:100vh;
    display:flex;
    align-items:center;
    padding-top:72px;
    padding-bottom:72px;
  }
  .pinned-timeline-section .row{
    width:100%;
    align-items:center;
  }
  .pinned-timeline-section:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      radial-gradient(circle at 12% 20%, rgba(255,194,0,.07), transparent 22%),
      radial-gradient(circle at 88% 70%, rgba(165,243,161,.07), transparent 26%);
  }
}


@media (max-width: 991px){
  .timeline-scroll-note{
    display:none;
  }
  .process-timeline .timeline-progress-line{
    display:none;
  }
  .process-timeline .timeline-wrapper{
    opacity:1;
    transform:none;
  }
  .pinned-timeline-section{
    min-height:auto;
  }
}

.process-timeline{
  --timeline-line-x:42px;
}
.process-timeline .timeline-progress-line{
  left:var(--timeline-line-x) !important;
  top:6px !important;
  width:4px !important;
  max-height:none !important;
  height:var(--timeline-progress, 0%) !important;
  background:#ffc200 !important;
  z-index:1 !important;
  transform:translateX(-50%) !important;
  border-radius:999px;
  pointer-events:none;
}

.process-timeline .timeline-wrapper:before{
  left:var(--timeline-line-x) !important;
  transform:translateX(-50%) !important;
  width:4px !important;
  background:#474559 !important;
  z-index:0 !important;
}

.process-timeline .timeline-yr{
  position:relative;
  z-index:2;
}

.process-timeline .timeline-wrapper,
.process-timeline .timeline-wrapper.is-active,
.process-timeline .timeline-wrapper.is-complete{
  transform:none !important;
}

.process-timeline .timeline-wrapper.is-active .timeline-info{
  transform:scale(1.015);
  transform-origin:left center;
}
.process-timeline .timeline-wrapper .timeline-info{
  transition:transform .25s ease, opacity .25s ease;
}

.process-timeline .timeline-wrapper{
  opacity:.52;
}
.process-timeline .timeline-wrapper.is-active,
.process-timeline .timeline-wrapper.is-complete{
  opacity:1;
}

.dark-mode .process-timeline .timeline-wrapper:before{
  background:#2d2d37 !important;
}
.dark-mode .process-timeline .timeline-progress-line{
  background:#ffc200 !important;
}


@media (min-width: 992px){
  .pinned-timeline-section > .container{
    align-items:center !important;
  }
  .pinned-timeline-section .row{
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .pinned-timeline-section .col-lg-6{
    padding-left:15px;
    padding-right:15px;
  }
}


@media (max-width: 991px){
  .process-timeline .timeline-progress-line{
    display:none !important;
  }
  .process-timeline .timeline-wrapper,
  .process-timeline .timeline-wrapper.is-active,
  .process-timeline .timeline-wrapper.is-complete{
    opacity:1 !important;
    transform:none !important;
  }
  .process-timeline .timeline-wrapper .timeline-info,
  .process-timeline .timeline-wrapper.is-active .timeline-info{
    transform:none !important;
  }
}

.profile-hero-card{
  position:relative;
  display:flex;
  justify-content:center;
}
.profile-hero-card img{
  width:min(430px, 100%);
  aspect-ratio:1 / 1;
  object-fit:cover;
  border-radius:42px;
  box-shadow:0 28px 75px rgba(0,0,0,.18);
  transform:none !important;
  background:#f1f1f1;
}
.dark-mode .profile-hero-card img{
  box-shadow:0 32px 90px rgba(0,0,0,.45);
}


.pl-hero-title{
  font-size:clamp(54px, 6.9vw, 92px);
  line-height:.88;
  letter-spacing:-.065em;
  margin-bottom:26px;
}
.pl-hero-title .mr-2{
  display:block;
  margin-right:0 !important;
}
.pl-hero-title .animated-info{
  display:block;
  min-width:100%;
  height:1em;
  margin-top:10px;
  position:relative;
}
.pl-hero-title .animated-item{
  font-size:clamp(54px, 7.2vw, 98px);
  line-height:.92;
  letter-spacing:-.065em;
  color:#ffc200;
  left:0;
  right:auto;
  width:100%;
  white-space:nowrap;
}


.social-section{
  position:relative;
  overflow:hidden;
}
.social-section:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,194,0,.10), transparent 24%),
    radial-gradient(circle at 82% 30%, rgba(103,108,255,.10), transparent 26%);
  pointer-events:none;
}
.social-section .container{
  position:relative;
  z-index:1;
}
.social-intro{
  max-width:720px;
  margin:0 auto 32px;
  color:#777;
}
.dark-mode .social-intro{
  color:#a9a39a;
}
.social-grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:16px;
  width:min(1040px, 100%);
  margin:0 auto;
}
.social-card{
  min-height:190px;
  border-radius:30px;
  padding:22px 18px;
  background:#ffffff;
  border:1px solid #eeeeee;
  color:#212121;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:10px;
  box-shadow:0 10px 30px rgba(0,0,0,.04);
  transition:transform .28s ease, box-shadow .28s ease, background .28s ease, color .28s ease;
}
.social-card:hover{
  transform:translateY(-9px) scale(1.02);
  box-shadow:0 28px 80px rgba(0,0,0,.16);
  color:#111111;
}
.social-icon{
  width:78px;
  height:78px;
  border-radius:26px;
  display:grid;
  place-items:center;
  font-size:26px;
  font-weight:900;
  letter-spacing:-.06em;
  background:#eeeeee;
  color:#111111;
}
.social-card strong{
  font-size:18px;
  line-height:1;
}
.social-card small{
  color:#777;
  font-size:12px;
  line-height:1.25;
}
.social-card.instagram .social-icon{background:linear-gradient(135deg,#ff7a59,#d62976,#6741d9);color:white}
.social-card.linkedin .social-icon{background:#0a66c2;color:white}
.social-card.medium .social-icon{background:#111;color:white}
.social-card.linktree .social-icon{background:#43e660;color:#111}
.social-card.github .social-icon{background:#24292f;color:white}
.social-card.mail .social-icon{background:#ffffff;color:#111}
.dark-mode .social-card{
  background:#141814;
  border-color:#252a22;
  color:#f5f0e8;
  box-shadow:none;
}
.dark-mode .social-card:hover{
  box-shadow:0 24px 80px rgba(0,0,0,.36);
}
.dark-mode .social-card small{
  color:#a9a39a;
}


.repo-filter-toolbar{
  width:min(980px, 100%);
  margin:28px auto 34px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:9px;
}
.repo-filter-btn{
  border:1px solid #e5e5e5;
  border-radius:999px;
  background:#ffffff;
  color:#474559;
  padding:10px 14px;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}
.repo-filter-btn:hover,
.repo-filter-btn.active{
  background:#474559;
  color:#ffffff;
  border-color:#474559;
  transform:translateY(-2px);
}
.dark-mode .repo-filter-btn{
  background:#141814;
  color:#f5f0e8;
  border-color:#252a22;
}
.dark-mode .repo-filter-btn:hover,
.dark-mode .repo-filter-btn.active{
  background:#ffc200;
  color:#111111;
  border-color:#ffc200;
}
.github-project-card.is-filtered-out{
  display:none;
}
.mini-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:-4px 0 18px;
}
.mini-tags span{
  padding:5px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  background:#f1f1f1;
  color:#474559;
}
.dark-mode .mini-tags span{
  background:#252a22;
  color:#f5f0e8;
}
.repo-empty-message{
  text-align:center;
  margin:28px auto 0;
  color:#777;
  font-weight:700;
}
.dark-mode .repo-empty-message{
  color:#a9a39a;
}


.contact-form-section{
  position:relative;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.02));
}
.boxed-mail-form{
  min-height:100%;
  padding:34px;
  border-radius:30px;
  background:#ffffff;
  border:1px solid #eeeeee;
  box-shadow:0 18px 60px rgba(0,0,0,.07);
}
.dark-mode .boxed-mail-form{
  background:#141814;
  border-color:#252a22;
  box-shadow:none;
}
.dark-mode .boxed-mail-form h2{
  color:#ffffff;
}


@media (max-width:1199px){
  .social-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}
@media (max-width:991px){
  .pl-hero-title{
    font-size:clamp(48px, 11vw, 76px);
  }
  .pl-hero-title .animated-item{
    font-size:clamp(48px, 11.5vw, 78px);
  }
  .profile-hero-card img{
    width:min(360px, 92%);
    margin-top:30px;
  }
}
@media (max-width:767px){
  .pl-hero-title{
    font-size:42px;
    line-height:.92;
  }
  .pl-hero-title .animated-item{
    font-size:44px;
    line-height:.92;
  }
  .pl-hero-title .animated-info{
    height:1.05em;
  }
  .social-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
  }
  .social-card{
    min-height:160px;
    border-radius:24px;
    padding:18px 14px;
  }
  .social-icon{
    width:62px;
    height:62px;
    border-radius:20px;
    font-size:22px;
  }
  .repo-filter-toolbar{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:6px;
    scrollbar-width:none;
  }
  .repo-filter-toolbar::-webkit-scrollbar{
    display:none;
  }
  .repo-filter-btn{
    flex:0 0 auto;
  }
  .boxed-mail-form{
    padding:24px;
    border-radius:24px;
  }
}
@media (max-width:430px){
  .social-grid{
    grid-template-columns:1fr;
  }
  .pl-hero-title,
  .pl-hero-title .animated-item{
    font-size:38px;
  }
}

.pl-hero-title{
  display:block;
  max-width:720px;
  font-size:clamp(56px, 7.4vw, 108px) !important;
  line-height:.86 !important;
  letter-spacing:-.075em !important;
  margin-bottom:30px !important;
}
.pl-hero-title .hero-line{
  display:block;
}
.hero-rotator{
  position:relative;
  display:block;
  height:1.03em;
  margin-top:8px;
  color:#ffc200;
  overflow:hidden;
}
.hero-rotator span{
  position:absolute;
  inset:0 auto auto 0;
  opacity:0;
  transform:translateY(34%);
  animation:plHeroWords 7.2s infinite;
  white-space:nowrap;
}
.hero-rotator span:nth-child(2){animation-delay:2.4s}
.hero-rotator span:nth-child(3){animation-delay:4.8s}
@keyframes plHeroWords{
  0%,8%{opacity:0;transform:translateY(34%)}
  14%,28%{opacity:1;transform:translateY(0)}
  35%,100%{opacity:0;transform:translateY(-34%)}
}
.social-grid-complete{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  max-width:1080px;
}
.social-card svg{
  width:42px;
  height:42px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.social-card.medium svg,
.social-card.github svg{
  fill:currentColor;
  stroke:none;
}
.social-card.repo .social-icon{background:#f5f0e8;color:#111}
.social-card.dashboard .social-icon{background:#676cff;color:#fff}
.social-card:hover .social-icon{
  transform:scale(1.05) rotate(-2deg);
}
.social-icon{
  transition:transform .25s ease;
}
.repo-filter-toolbar{
  padding:8px;
  border:1px solid #eeeeee;
  border-radius:28px;
  background:rgba(255,255,255,.58);
  backdrop-filter:blur(10px);
}
.dark-mode .repo-filter-toolbar{
  border-color:#252a22;
  background:rgba(20,24,20,.62);
}
.repo-filter-btn{
  min-height:40px;
}
.github-project-card{
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease, opacity .22s ease;
}
.github-project-card.is-filtered-out{
  display:none !important;
}
.repo-empty-message{
  display:block;
  padding:20px;
  border-radius:22px;
  background:#f5f5f5;
}
.repo-empty-message[hidden]{
  display:none !important;
}
.dark-mode .repo-empty-message{
  background:#141814;
}
@media (max-width:991px){
  .pl-hero-title{
    font-size:clamp(48px, 11vw, 82px) !important;
  }
  .social-grid-complete{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width:520px){
  .pl-hero-title{
    font-size:39px !important;
    line-height:.92 !important;
  }
  .hero-rotator{
    height:1.1em;
  }
  .social-grid-complete{
    grid-template-columns:1fr;
  }
}

.contact-form-section{
  display:block !important;
  background:
    radial-gradient(circle at 10% 12%, rgba(255,194,0,.08), transparent 24%),
    radial-gradient(circle at 88% 76%, rgba(165,243,161,.08), transparent 24%);
}
.contact-form-section .contact-panel,
.contact-form-section .boxed-mail-form{
  min-height:100%;
}
.boxed-mail-form{
  padding:38px;
  border-radius:32px;
  background:#ffffff;
  border:1px solid #e8e8e8;
  box-shadow:0 22px 70px rgba(0,0,0,.08);
}
.dark-mode .boxed-mail-form{
  background:#141814;
  border-color:#252a22;
  box-shadow:none;
}


.github-project-grid{
  align-items:stretch;
}
.project-image-link img{
  width:100% !important;
  aspect-ratio:4 / 5 !important;
  height:auto !important;
  min-height:auto !important;
  object-fit:cover !important;
  object-position:center center;
}
.github-project-card{
  display:flex;
  flex-direction:column;
}
.github-project-body{
  flex:1;
  display:flex;
  flex-direction:column;
}
.github-project-body .project-link,
.github-project-body .project-link-row{
  margin-top:auto;
}


.timeline-yr span{
  font-size:19px !important;
  font-weight:900 !important;
  letter-spacing:-.02em;
}
.stack-timeline .timeline-yr span{
  font-size:18px !important;
}


.process-timeline{
  --circle-size:74px;
  --circle-x:38px;
  --text-x:118px;
}
.process-timeline .timeline-wrapper{
  min-height:170px;
  padding-left:0 !important;
  position:relative;
}
.process-timeline .timeline-yr{
  width:var(--circle-size) !important;
  height:var(--circle-size) !important;
  line-height:var(--circle-size) !important;
  left:0 !important;
  margin-left:0 !important;
  position:absolute !important;
  top:0 !important;
}
.process-timeline .timeline-info{
  margin-left:var(--text-x) !important;
  padding-top:6px;
}
.process-timeline .timeline-wrapper:before{
  left:var(--circle-x) !important;
  top:0 !important;
  bottom:0 !important;
  width:4px !important;
  transform:none !important;
}
.process-timeline .timeline-progress-line{
  left:var(--circle-x) !important;
  top:0 !important;
  transform:none !important;
  width:4px !important;
  height:var(--timeline-progress, 0%) !important;
  max-height:none !important;
}
.process-timeline .timeline-wrapper:last-child:before{
  height:100% !important;
}
.process-timeline .timeline-wrapper.is-active .timeline-info{
  transform:none !important;
}
.process-timeline .timeline-wrapper.is-active,
.process-timeline .timeline-wrapper.is-complete{
  transform:none !important;
}
.process-timeline .timeline-info h3{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:10px;
}
.process-timeline .timeline-info h3 span{
  min-width:160px;
}


.stack-timeline .timeline-yr{
  width:68px !important;
  height:68px !important;
  line-height:68px !important;
}


.repo-filter-toolbar{
  display:flex !important;
  width:min(1100px, 100%);
  margin:30px auto 36px;
  padding:10px;
  border:1px solid #e7e7e7;
  border-radius:30px;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(12px);
  flex-wrap:wrap;
  justify-content:center;
  gap:9px;
}
.repo-filter-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border:1px solid #e5e5e5;
  border-radius:999px;
  background:#ffffff;
  color:#474559;
  padding:10px 14px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}
.repo-filter-btn:hover,
.repo-filter-btn.active{
  background:#474559;
  color:#ffffff;
  border-color:#474559;
  transform:translateY(-2px);
}
.dark-mode .repo-filter-toolbar{
  border-color:#252a22;
  background:rgba(20,24,20,.78);
}
.dark-mode .repo-filter-btn{
  background:#141814;
  color:#f5f0e8;
  border-color:#252a22;
}
.dark-mode .repo-filter-btn:hover,
.dark-mode .repo-filter-btn.active{
  background:#ffc200;
  color:#111111;
  border-color:#ffc200;
}


.github-project-card{
  transition:opacity .2s ease, transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.github-project-card.is-filtered-out{
  display:none !important;
}


@media (max-width:991px){
  .process-timeline .timeline-wrapper{
    min-height:auto;
    padding-left:0 !important;
  }
  .process-timeline .timeline-yr{
    position:absolute !important;
    width:60px !important;
    height:60px !important;
    line-height:60px !important;
  }
  .process-timeline .timeline-info{
    margin-left:92px !important;
  }
  .timeline-yr span{
    font-size:16px !important;
  }
  .repo-filter-toolbar{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    scrollbar-width:none;
  }
  .repo-filter-toolbar::-webkit-scrollbar{
    display:none;
  }
  .repo-filter-btn{
    flex:0 0 auto;
  }
}
@media (max-width:767px){
  .boxed-mail-form{
    padding:24px;
    border-radius:24px;
  }
  .project-image-link img{
    aspect-ratio:4 / 5 !important;
  }
}

.section-glow{
  position:relative;
  overflow:hidden;
}
.section-glow:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
}
.section-glow > .container{
  position:relative;
  z-index:1;
}
.glow-hero:before{
  background:
    radial-gradient(circle at 6% 24%, rgba(255,194,0,.20), transparent 24%),
    radial-gradient(circle at 92% 18%, rgba(103,108,255,.16), transparent 26%);
}
.glow-social:before{
  background:
    radial-gradient(circle at 10% 16%, rgba(165,243,161,.18), transparent 25%),
    radial-gradient(circle at 88% 74%, rgba(255,122,89,.13), transparent 28%);
}
.glow-method:before{
  background:
    radial-gradient(circle at 8% 32%, rgba(255,194,0,.18), transparent 24%),
    radial-gradient(circle at 88% 66%, rgba(80,170,255,.12), transparent 28%);
}
.glow-repo:before{
  background:
    radial-gradient(circle at 12% 10%, rgba(255,194,0,.16), transparent 22%),
    radial-gradient(circle at 86% 18%, rgba(165,243,161,.14), transparent 27%),
    radial-gradient(circle at 50% 95%, rgba(103,108,255,.10), transparent 30%);
}
.glow-contact:before{
  background:
    radial-gradient(circle at 10% 16%, rgba(103,108,255,.13), transparent 23%),
    radial-gradient(circle at 88% 72%, rgba(255,194,0,.15), transparent 26%);
}
.dark-mode .glow-hero:before{
  background:
    radial-gradient(circle at 6% 24%, rgba(255,194,0,.18), transparent 25%),
    radial-gradient(circle at 92% 18%, rgba(103,108,255,.14), transparent 28%);
}
.dark-mode .glow-social:before{
  background:
    radial-gradient(circle at 10% 16%, rgba(165,243,161,.14), transparent 27%),
    radial-gradient(circle at 88% 74%, rgba(219,148,216,.12), transparent 29%);
}
.dark-mode .glow-method:before{
  background:
    radial-gradient(circle at 8% 32%, rgba(255,194,0,.16), transparent 25%),
    radial-gradient(circle at 88% 66%, rgba(80,170,255,.11), transparent 29%);
}
.dark-mode .glow-repo:before{
  background:
    radial-gradient(circle at 12% 10%, rgba(255,194,0,.14), transparent 23%),
    radial-gradient(circle at 86% 18%, rgba(165,243,161,.11), transparent 28%),
    radial-gradient(circle at 50% 95%, rgba(103,108,255,.09), transparent 31%);
}
.dark-mode .glow-contact:before{
  background:
    radial-gradient(circle at 10% 16%, rgba(103,108,255,.12), transparent 24%),
    radial-gradient(circle at 88% 72%, rgba(255,194,0,.13), transparent 27%);
}


.contact-panel .contact-email-line{
  margin-top:12px;
  font-size:17px;
}
.contact-panel .contact-email-line a{
  font-weight:800;
}
.boxed-mail-form .form-note{
  font-size:16px;
  color:#777;
  margin-top:-4px;
  margin-bottom:24px;
}
.dark-mode .boxed-mail-form .form-note{
  color:#b8b0a3;
}


.project-status{
  width:auto !important;
  max-width:max-content !important;
  align-self:flex-start !important;
  display:inline-flex !important;
  flex:0 0 auto !important;
  white-space:nowrap;
  padding:7px 11px !important;
  border-radius:999px !important;
  line-height:1 !important;
}


.repo-filter-toolbar{
  border:0 !important;
  background:transparent !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:30px auto 38px !important;
  gap:12px !important;
}
.repo-filter-btn{
  font-size:15px !important;
  font-weight:850 !important;
  padding:12px 17px !important;
  border-radius:999px !important;
  gap:8px;
}
.filter-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border-radius:999px;
  background:rgba(71,69,89,.10);
  color:inherit;
  font-size:13px;
  line-height:1;
}
.repo-filter-btn.active .filter-icon,
.repo-filter-btn:hover .filter-icon{
  background:rgba(255,255,255,.18);
}
.dark-mode .repo-filter-btn .filter-icon{
  background:rgba(255,255,255,.08);
}
.dark-mode .repo-filter-btn.active .filter-icon,
.dark-mode .repo-filter-btn:hover .filter-icon{
  background:rgba(0,0,0,.18);
}


.process-timeline{
  --circle-size:74px;
  --circle-x:38px;
  --text-x:118px;
}
.process-timeline .timeline-progress-line,
.process-timeline .timeline-wrapper:before{
  display:none !important;
}
.process-timeline .timeline-wrapper{
  position:relative;
  min-height:170px;
  padding-left:0 !important;
}
.process-timeline .timeline-wrapper:last-child{
  min-height:118px;
}
.process-timeline .timeline-segment{
  position:absolute;
  left:var(--circle-x);
  top:0;
  height:100%;
  width:4px;
  transform:translateX(-50%);
  background:#474559;
  z-index:0;
}
.process-timeline .timeline-wrapper:last-child .timeline-segment{
  height:var(--circle-size);
}
.process-timeline .timeline-wrapper.is-active .timeline-segment,
.process-timeline .timeline-wrapper.is-complete .timeline-segment{
  background:#ffc200;
}
.process-timeline .timeline-yr{
  width:var(--circle-size) !important;
  height:var(--circle-size) !important;
  line-height:var(--circle-size) !important;
  left:0 !important;
  top:0 !important;
  margin-left:0 !important;
  position:absolute !important;
  z-index:2;
}
.process-timeline .timeline-yr span,
.stack-timeline .timeline-yr span{
  font-size:20px !important;
  font-weight:900 !important;
  letter-spacing:-.02em;
}
.stack-timeline .timeline-yr span{
  font-size:19px !important;
}
.process-timeline .timeline-info{
  margin-left:var(--text-x) !important;
  padding-top:6px !important;
}
.process-timeline .timeline-info h3{
  display:grid !important;
  grid-template-columns:minmax(160px, max-content) auto;
  align-items:baseline;
  gap:16px;
}
.process-timeline .timeline-info h3 span{
  min-width:0 !important;
}
.process-timeline .timeline-wrapper,
.process-timeline .timeline-wrapper.is-active,
.process-timeline .timeline-wrapper.is-complete,
.process-timeline .timeline-wrapper.is-active .timeline-info{
  transform:none !important;
}
.dark-mode .process-timeline .timeline-segment{
  background:#474559;
}
.dark-mode .process-timeline .timeline-wrapper.is-active .timeline-segment,
.dark-mode .process-timeline .timeline-wrapper.is-complete .timeline-segment{
  background:#ffc200;
}


.profile-hero-card img{
  image-rendering:auto;
}


.footer .copyright-text{
  font-weight:700;
  letter-spacing:-.01em;
}


@media (max-width:991px){
  .process-timeline .timeline-wrapper{
    min-height:auto;
    padding-bottom:44px;
  }
  .process-timeline .timeline-wrapper:last-child{
    padding-bottom:0;
  }
  .process-timeline .timeline-segment{
    left:30px;
  }
  .process-timeline .timeline-yr{
    width:60px !important;
    height:60px !important;
    line-height:60px !important;
  }
  .process-timeline .timeline-info{
    margin-left:92px !important;
  }
  .process-timeline .timeline-info h3{
    grid-template-columns:1fr;
    gap:4px;
  }
  .process-timeline .timeline-yr span,
  .stack-timeline .timeline-yr span{
    font-size:16px !important;
  }
}
@media (max-width:767px){
  .repo-filter-toolbar{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    scrollbar-width:none;
  }
  .repo-filter-toolbar::-webkit-scrollbar{
    display:none;
  }
  .repo-filter-btn{
    flex:0 0 auto;
    font-size:14px !important;
  }
}

@media (min-width: 992px){
  .pinned-timeline-section{
    min-height:185vh !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    display:block !important;
    position:relative;
  }
  .pinned-timeline-section > .container{
    position:sticky !important;
    top:76px !important;
    min-height:auto !important;
    height:auto !important;
    display:block !important;
    padding-top:64px !important;
    padding-bottom:64px !important;
  }
  .pinned-timeline-section .row{
    min-height:auto !important;
    width:auto !important;
    align-items:flex-start !important;
    margin-left:-15px !important;
    margin-right:-15px !important;
  }
}


@media (max-width: 991px){
  .pinned-timeline-section{
    min-height:auto !important;
    padding-top:4rem !important;
    padding-bottom:4rem !important;
  }
  .pinned-timeline-section > .container{
    position:relative !important;
    top:auto !important;
    min-height:auto !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
}


.process-timeline,
.stack-timeline{
  position:relative !important;
  margin-top:24px;
}
.process-timeline{
  --circle-size:74px;
  --circle-x:37px;
  --text-x:112px;
}
.stack-timeline{
  --circle-size:68px;
  --circle-x:34px;
  --text-x:104px;
}


.process-timeline .timeline-progress-line,
.process-timeline .timeline-wrapper:before,
.stack-timeline .timeline-wrapper:before{
  display:none !important;
}


.process-timeline .timeline-wrapper,
.stack-timeline .timeline-wrapper{
  position:relative !important;
  padding-left:0 !important;
  margin:0 !important;
  opacity:1;
  transform:none !important;
}
.process-timeline .timeline-wrapper{
  min-height:158px !important;
}
.process-timeline .timeline-wrapper:last-child{
  min-height:74px !important;
  padding-bottom:0 !important;
}
.stack-timeline .timeline-wrapper{
  min-height:128px !important;
}
.stack-timeline .timeline-wrapper:last-child{
  min-height:68px !important;
}


.process-timeline .timeline-segment,
.stack-timeline .timeline-wrapper::after{
  content:"";
  position:absolute;
  left:var(--circle-x);
  top:0;
  width:4px;
  height:100%;
  transform:translateX(-50%);
  border-radius:999px;
  background:#474559;
  z-index:0;
}
.process-timeline .timeline-wrapper:last-child .timeline-segment,
.stack-timeline .timeline-wrapper:last-child::after{
  height:var(--circle-size);
}
.process-timeline .timeline-wrapper.is-complete .timeline-segment,
.process-timeline .timeline-wrapper.is-active .timeline-segment{
  background:#ffc200;
}


.process-timeline .timeline-yr,
.stack-timeline .timeline-yr{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  margin-left:0 !important;
  width:var(--circle-size) !important;
  height:var(--circle-size) !important;
  line-height:var(--circle-size) !important;
  z-index:2;
  transform:none !important;
}
.process-timeline .timeline-yr span,
.stack-timeline .timeline-yr span{
  font-size:20px !important;
  font-weight:900 !important;
  letter-spacing:-.02em;
}
.stack-timeline .timeline-yr span{
  font-size:18px !important;
}


.process-timeline .timeline-info,
.stack-timeline .timeline-info{
  margin-left:var(--text-x) !important;
  padding-top:8px !important;
  max-width:none !important;
  transform:none !important;
}
.process-timeline .timeline-info h3,
.stack-timeline .timeline-info h3{
  display:flex !important;
  flex-wrap:wrap;
  align-items:baseline;
  gap:10px 16px;
  margin-bottom:10px;
}
.process-timeline .timeline-info h3 span,
.stack-timeline .timeline-info h3 span{
  min-width:0 !important;
}
.process-timeline .timeline-info h3 small,
.stack-timeline .timeline-info h3 small{
  margin-left:0 !important;
}


.process-timeline .timeline-wrapper{
  opacity:.42;
}
.process-timeline .timeline-wrapper.is-active,
.process-timeline .timeline-wrapper.is-complete{
  opacity:1;
}
.process-timeline .timeline-wrapper.is-active .timeline-info h3 span{
  color:#ffc200;
}
.process-timeline .timeline-wrapper.is-active .timeline-yr,
.process-timeline .timeline-wrapper.is-complete .timeline-yr{
  background:#ffc200 !important;
  box-shadow:0 14px 36px rgba(255,194,0,.18);
}
.process-timeline .timeline-wrapper.is-active .timeline-yr span,
.process-timeline .timeline-wrapper.is-complete .timeline-yr span{
  color:#111 !important;
}


.stack-timeline .timeline-wrapper::after{
  background:#474559;
}
.stack-timeline .timeline-yr{
  background:#474559 !important;
}
.stack-timeline .timeline-yr span{
  color:#fff !important;
}


.dark-mode .stack-timeline .timeline-wrapper::after,
.dark-mode .process-timeline .timeline-wrapper:not(.is-complete):not(.is-active) .timeline-segment{
  background:#474559 !important;
}


@media (max-width: 991px){
  .timeline-scroll-note{
    display:none !important;
  }
  .process-timeline,
  .stack-timeline{
    --circle-size:60px;
    --circle-x:30px;
    --text-x:88px;
  }
  .process-timeline .timeline-wrapper,
  .stack-timeline .timeline-wrapper{
    min-height:auto !important;
    padding-bottom:42px !important;
    opacity:1 !important;
  }
  .process-timeline .timeline-wrapper:last-child,
  .stack-timeline .timeline-wrapper:last-child{
    padding-bottom:0 !important;
  }
  .process-timeline .timeline-yr span,
  .stack-timeline .timeline-yr span{
    font-size:16px !important;
  }
}

@media (min-width: 992px){
  .pinned-timeline-section{
    min-height:auto !important;
    padding-top:82px !important;
    padding-bottom:86px !important;
    display:block !important;
    position:relative !important;
  }
  .pinned-timeline-section > .container{
    position:relative !important;
    top:auto !important;
    height:auto !important;
    min-height:0 !important;
    display:block !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
  .pinned-timeline-section .row{
    min-height:auto !important;
    width:auto !important;
    align-items:flex-start !important;
    margin-left:-15px !important;
    margin-right:-15px !important;
  }
}
.pinned-timeline-section{
  min-height:auto !important;
  padding-top:82px !important;
  padding-bottom:86px !important;
}
.pinned-timeline-section > .container{
  position:relative !important;
  top:auto !important;
  height:auto !important;
  min-height:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}


.pinned-timeline-section .col-lg-6{
  padding-left:15px !important;
  padding-right:15px !important;
}
.pinned-timeline-section h2{
  margin-bottom:14px !important;
}
.timeline-scroll-note{
  max-width:520px;
  margin:0 0 30px !important;
}


.process-timeline,
.stack-timeline{
  position:relative !important;
  margin-top:26px !important;
}
.process-timeline{
  --circle-size:74px;
  --circle-x:37px;
  --text-x:112px;
}
.stack-timeline{
  --circle-size:68px;
  --circle-x:34px;
  --text-x:104px;
}


.process-timeline .timeline-progress-line,
.process-timeline .timeline-wrapper:before,
.stack-timeline .timeline-wrapper:before{
  display:none !important;
}


.process-timeline .timeline-wrapper,
.stack-timeline .timeline-wrapper{
  position:relative !important;
  padding-left:0 !important;
  margin:0 !important;
  transform:none !important;
}
.process-timeline .timeline-wrapper{
  min-height:156px !important;
  opacity:.42;
}
.process-timeline .timeline-wrapper:last-child{
  min-height:76px !important;
}
.stack-timeline .timeline-wrapper{
  min-height:124px !important;
}
.stack-timeline .timeline-wrapper:last-child{
  min-height:68px !important;
}


.process-timeline .timeline-segment,
.stack-timeline .timeline-wrapper::after{
  content:"";
  position:absolute;
  left:var(--circle-x);
  top:0;
  width:4px;
  height:100%;
  transform:translateX(-50%);
  border-radius:999px;
  background:#474559;
  z-index:0;
}
.process-timeline .timeline-wrapper:last-child .timeline-segment,
.stack-timeline .timeline-wrapper:last-child::after{
  height:var(--circle-size) !important;
}
.process-timeline .timeline-wrapper.is-complete .timeline-segment,
.process-timeline .timeline-wrapper.is-active .timeline-segment{
  background:#ffc200 !important;
}


.process-timeline .timeline-yr,
.stack-timeline .timeline-yr{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  margin-left:0 !important;
  width:var(--circle-size) !important;
  height:var(--circle-size) !important;
  line-height:var(--circle-size) !important;
  z-index:2;
  transform:none !important;
}
.process-timeline .timeline-yr span,
.stack-timeline .timeline-yr span{
  font-size:20px !important;
  font-weight:900 !important;
  letter-spacing:-.02em;
}
.stack-timeline .timeline-yr span{
  font-size:18px !important;
}


.process-timeline .timeline-info,
.stack-timeline .timeline-info{
  margin-left:var(--text-x) !important;
  padding-top:8px !important;
  max-width:none !important;
  transform:none !important;
}
.process-timeline .timeline-info h3,
.stack-timeline .timeline-info h3{
  display:flex !important;
  align-items:baseline;
  flex-wrap:wrap;
  gap:10px 16px;
  margin-bottom:9px !important;
}
.process-timeline .timeline-info h3 span,
.stack-timeline .timeline-info h3 span{
  min-width:0 !important;
}
.process-timeline .timeline-info h3 small,
.stack-timeline .timeline-info h3 small{
  margin-left:0 !important;
}


.process-timeline .timeline-wrapper.is-active,
.process-timeline .timeline-wrapper.is-complete{
  opacity:1;
}
.process-timeline .timeline-wrapper.is-active .timeline-info h3 span{
  color:#ffc200 !important;
}
.process-timeline .timeline-wrapper.is-active .timeline-yr,
.process-timeline .timeline-wrapper.is-complete .timeline-yr{
  background:#ffc200 !important;
  box-shadow:0 14px 36px rgba(255,194,0,.20);
}
.process-timeline .timeline-wrapper.is-active .timeline-yr span,
.process-timeline .timeline-wrapper.is-complete .timeline-yr span{
  color:#111 !important;
}


.stack-timeline .timeline-wrapper::after{
  background:#474559 !important;
}
.stack-timeline .timeline-yr{
  background:#474559 !important;
}
.stack-timeline .timeline-yr span{
  color:#fff !important;
}


body.timeline-wheel-lock .pinned-timeline-section{
  outline:0;
}


@media (max-width: 991px){
  .pinned-timeline-section{
    padding-top:64px !important;
    padding-bottom:64px !important;
  }
  .timeline-scroll-note{
    display:none !important;
  }
  .process-timeline,
  .stack-timeline{
    --circle-size:60px;
    --circle-x:30px;
    --text-x:88px;
  }
  .process-timeline .timeline-wrapper,
  .stack-timeline .timeline-wrapper{
    min-height:auto !important;
    padding-bottom:42px !important;
    opacity:1 !important;
  }
  .process-timeline .timeline-wrapper:last-child,
  .stack-timeline .timeline-wrapper:last-child{
    padding-bottom:0 !important;
  }
  .process-timeline .timeline-yr span,
  .stack-timeline .timeline-yr span{
    font-size:16px !important;
  }
  .process-timeline .timeline-wrapper{
    opacity:1 !important;
  }
}

body{
  position:relative;
}
.navbar,
section,
footer{
  position:relative;
  z-index:2;
}
.floating-icon-layer{
  position:fixed;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}
.bg-floating-icon{
  position:absolute;
  left:0;
  top:0;
  width:var(--size, 130px);
  height:auto;
  opacity:var(--opacity, .12);
  filter:grayscale(.05) saturate(.95);
  transform:translate3d(var(--from-x), var(--from-y), 0) rotate(var(--rot, 0deg));
  animation:plFloatStraight var(--duration, 38s) linear var(--delay, 0s) infinite;
  will-change:transform;
}
@keyframes plFloatStraight{
  from{
    transform:translate3d(var(--from-x), var(--from-y), 0) rotate(var(--rot, 0deg));
  }
  to{
    transform:translate3d(var(--to-x), var(--to-y), 0) rotate(calc(var(--rot, 0deg) + var(--spin, 0deg)));
  }
}
@media (prefers-reduced-motion: reduce){
  .bg-floating-icon{
    animation:none;
    display:none;
  }
}


.process-timeline .timeline-wrapper{
  transition:
    opacity .72s ease,
    filter .72s ease;
}
.process-timeline .timeline-segment{
  transition:
    background-color .82s ease,
    box-shadow .82s ease;
}
.process-timeline .timeline-yr{
  transition:
    background-color .82s ease,
    box-shadow .82s ease,
    transform .82s cubic-bezier(.16,1,.3,1);
}
.process-timeline .timeline-info h3 span,
.process-timeline .timeline-info p,
.process-timeline .timeline-info small{
  transition:
    color .72s ease,
    opacity .72s ease;
}
.process-timeline .timeline-wrapper.is-active .timeline-yr{
  transform:scale(1.04) !important;
}


.pinned-timeline-section{
  padding-top:72px !important;
  padding-bottom:72px !important;
}
@media (min-width:992px){
  .pinned-timeline-section{
    min-height:auto !important;
  }
  .pinned-timeline-section > .container{
    position:relative !important;
  }
}

.floating-icon-layer{
  position:absolute !important;
  left:0;
  top:0;
  width:100%;
  min-height:100%;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}
.bg-floating-icon{
  position:absolute !important;
  width:var(--size, 72px) !important;
  height:auto !important;
  opacity:var(--opacity, .055) !important;
  filter:saturate(.86) contrast(.95);
  transform:translate3d(var(--from-x), var(--from-y), 0) rotate(var(--rot, 0deg));
  animation:plFloatStraightDoc var(--duration, 96s) linear var(--delay, 0s) infinite;
  will-change:transform;
}
@keyframes plFloatStraightDoc{
  from{
    transform:translate3d(var(--from-x), var(--from-y), 0) rotate(var(--rot, 0deg));
  }
  to{
    transform:translate3d(var(--to-x), var(--to-y), 0) rotate(calc(var(--rot, 0deg) + var(--spin, 0deg)));
  }
}
section,
.navbar,
footer{
  position:relative;
  z-index:2;
}
@media (max-width:767px){
  .bg-floating-icon{
    width:var(--size-mobile, 54px) !important;
    opacity:var(--opacity-mobile, .04) !important;
  }
}
@media (prefers-reduced-motion: reduce){
  .bg-floating-icon{
    animation:none !important;
    display:none !important;
  }
}

.floating-icon-layer{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  min-height:100% !important;
  z-index:1 !important;
  pointer-events:none !important;
  overflow:hidden !important;
}
.bg-floating-icon{
  position:absolute !important;
  width:var(--size, 116px) !important;
  height:auto !important;
  opacity:var(--opacity, .075) !important;
  filter:saturate(.92) contrast(.98);
  transform:translate3d(var(--from-x), var(--from-y), 0) rotate(var(--rot, 0deg));
  animation:plFloatStraightDocV9 var(--duration, 68s) linear var(--delay, 0s) infinite;
  will-change:transform;
}
@keyframes plFloatStraightDocV9{
  from{transform:translate3d(var(--from-x), var(--from-y), 0) rotate(var(--rot, 0deg));}
  to{transform:translate3d(var(--to-x), var(--to-y), 0) rotate(calc(var(--rot, 0deg) + var(--spin, 0deg)));}
}
@media (max-width:767px){
  .bg-floating-icon{
    width:var(--size-mobile, 76px) !important;
    opacity:var(--opacity-mobile, .055) !important;
  }
}

.brand-image-badge{
  width:36px !important;
  height:36px !important;
  border-radius:50% !important;
  overflow:hidden;
  background:#111 !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.14);
}
.brand-image-badge img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.dark-mode .brand-image-badge{
  background:#111 !important;
}


.hero-rotator span{
  animation:plHeroWordsV10 9.6s infinite !important;
}
.hero-rotator span:nth-child(2){animation-delay:2.4s !important}
.hero-rotator span:nth-child(3){animation-delay:4.8s !important}
.hero-rotator span:nth-child(4){animation-delay:7.2s !important}
@keyframes plHeroWordsV10{
  0%,6%{opacity:0;transform:translateY(34%)}
  11%,22%{opacity:1;transform:translateY(0)}
  29%,100%{opacity:0;transform:translateY(-34%)}
}


@media (min-width: 1200px){
  .github-project-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    width:min(1320px, 100%) !important;
  }
}
@media (min-width: 992px) and (max-width:1199px){
  .github-project-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width:991px){
  .github-project-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width:640px){
  .github-project-grid{
    grid-template-columns:1fr !important;
  }
}


.bg-floating-icon{
  width:var(--size, 150px) !important;
  opacity:var(--opacity, .085) !important;
  animation:plFloatStraightDocV10 var(--duration, 58s) linear var(--delay, 0s) infinite !important;
}
@keyframes plFloatStraightDocV10{
  from{
    transform:translate3d(var(--from-x), var(--from-y), 0) rotate(var(--rot, 0deg));
  }
  to{
    transform:translate3d(var(--to-x), var(--to-y), 0) rotate(calc(var(--rot, 0deg) + var(--spin, 0deg)));
  }
}
@media (max-width:767px){
  .bg-floating-icon{
    width:var(--size-mobile, 96px) !important;
    opacity:var(--opacity-mobile, .06) !important;
  }
}

:root{
  --pl-nav-height:54px;
}

body{
  padding-top:var(--pl-nav-height) !important;
}

.pl-smart-navbar,
.navbar.pl-smart-navbar{
  position:fixed !important;
  top:0;
  left:0;
  right:0;
  width:100%;
  min-height:var(--pl-nav-height) !important;
  padding:6px 0 !important;
  z-index:9999;
  background:rgba(255,255,255,.88) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(20,20,20,.06);
  box-shadow:0 10px 30px rgba(0,0,0,.035);
  transition:transform .34s cubic-bezier(.22,.61,.36,1), background .24s ease, box-shadow .24s ease;
}

.dark-mode .pl-smart-navbar,
.dark-mode .navbar.pl-smart-navbar{
  background:rgba(12,13,12,.86) !important;
  border-bottom-color:rgba(255,255,255,.08);
  box-shadow:0 12px 34px rgba(0,0,0,.24);
}

.pl-smart-navbar .container{
  min-height:42px;
  align-items:center !important;
}

.pl-smart-navbar .navbar-brand{
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 !important;
  font-size:13px !important;
  line-height:1 !important;
}

.pl-smart-navbar .brand-image-badge,
.pl-smart-navbar .brand-badge{
  width:28px !important;
  height:28px !important;
  margin-right:5px !important;
}

.pl-smart-navbar .navbar-nav .nav-link{
  padding:7px 10px !important;
  font-size:11px !important;
  line-height:1 !important;
}

.pl-smart-navbar .color-mode{
  min-height:30px;
  padding:5px 9px;
  font-size:11px;
  line-height:1;
}

.pl-smart-navbar .color-mode-icon{
  width:16px;
  height:16px;
  margin-right:5px;
}

.pl-smart-navbar.headroom--unpinned,
.pl-smart-navbar.nav-hidden{
  transform:translateY(calc(-1 * var(--pl-nav-height) - 8px));
}

.pl-smart-navbar.headroom--pinned,
.pl-smart-navbar.nav-visible,
.pl-smart-navbar:hover,
.pl-smart-navbar:focus-within{
  transform:translateY(0);
}

.pl-smart-navbar.nav-at-top{
  transform:translateY(0) !important;
}

@media (max-width:767px){
  :root{
    --pl-nav-height:52px;
  }

  .pl-smart-navbar,
  .navbar.pl-smart-navbar{
    padding:6px 0 !important;
  }

  .pl-smart-navbar .navbar-brand{
    font-size:13px !important;
  }

  .pl-smart-navbar .brand-image-badge,
  .pl-smart-navbar .brand-badge{
    width:28px !important;
    height:28px !important;
  }

  .pl-smart-navbar .navbar-toggler{
    padding:4px 6px !important;
    border:0 !important;
  }

  .pl-smart-navbar .navbar-toggler-icon{
    width:20px;
    height:2px;
    margin:4px 0;
  }

  .pl-smart-navbar .navbar-collapse{
    margin-top:8px;
    padding:10px 0 8px;
    border-radius:16px;
    background:rgba(255,255,255,.96);
  }

  .dark-mode .pl-smart-navbar .navbar-collapse{
    background:rgba(12,13,12,.96);
  }
}

.floating-icon-layer{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  min-height:0 !important;
  max-height:100vh !important;
  overflow:hidden !important;
  z-index:1 !important;
  pointer-events:none !important;
}


.navbar,
section,
footer{
  position:relative;
  z-index:2;
}


html,
body{
  min-height:100%;
  overflow-x:hidden;
}


:root{
  --pl-nav-height:48px;
}

body{
  padding-top:0 !important;
}

.pl-smart-navbar,
.navbar.pl-smart-navbar{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  min-height:var(--pl-nav-height) !important;
  height:var(--pl-nav-height) !important;
  padding:0 !important;
  z-index:9999 !important;
  background:rgba(255,255,255,.90) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(20,20,20,.055);
  box-shadow:0 8px 24px rgba(0,0,0,.035);
  transform:translateY(0);
  transition:transform .28s ease, background .22s ease, box-shadow .22s ease;
}

.dark-mode .pl-smart-navbar,
.dark-mode .navbar.pl-smart-navbar{
  background:rgba(12,13,12,.88) !important;
  border-bottom-color:rgba(255,255,255,.08);
  box-shadow:0 10px 28px rgba(0,0,0,.26);
}

.pl-smart-navbar .container{
  min-height:var(--pl-nav-height) !important;
  height:var(--pl-nav-height) !important;
  display:flex !important;
  align-items:center !important;
}

.pl-smart-navbar .navbar-brand{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  padding:0 !important;
  margin:0 !important;
  font-size:12px !important;
  line-height:1 !important;
}

.pl-smart-navbar .brand-image-badge,
.pl-smart-navbar .brand-badge{
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  margin-right:4px !important;
}

.pl-smart-navbar .navbar-nav{
  align-items:center !important;
}

.pl-smart-navbar .navbar-nav .nav-link{
  padding:6px 8px !important;
  font-size:10.5px !important;
  line-height:1 !important;
}

.pl-smart-navbar .color-mode{
  min-height:26px !important;
  height:26px !important;
  padding:4px 8px !important;
  font-size:10.5px !important;
  line-height:1 !important;
  display:flex !important;
  align-items:center !important;
}

.pl-smart-navbar .color-mode-icon{
  width:14px !important;
  height:14px !important;
  margin-right:5px !important;
}


.pl-smart-navbar.nav-hidden{
  transform:translateY(calc(-1 * var(--pl-nav-height) - 8px)) !important;
}

.pl-smart-navbar.nav-visible,
.pl-smart-navbar.nav-at-top,
.pl-smart-navbar:hover,
.pl-smart-navbar:focus-within{
  transform:translateY(0) !important;
}


.pl-smart-navbar.headroom--pinned,
.pl-smart-navbar.headroom--unpinned{
  will-change:transform;
}


.about.full-screen{
  padding-top:calc(var(--pl-nav-height) + 42px) !important;
}


.footer{
  padding-bottom:28px !important;
  margin-bottom:0 !important;
}

.footer + *{
  margin-top:0 !important;
}

@media (max-width:767px){
  :root{
    --pl-nav-height:48px;
  }

  .pl-smart-navbar .navbar-toggler{
    padding:4px 6px !important;
    border:0 !important;
  }

  .pl-smart-navbar .navbar-toggler-icon{
    width:20px !important;
    height:2px !important;
    margin:4px 0 !important;
  }

  .pl-smart-navbar .navbar-collapse{
    margin-top:6px !important;
    padding:10px 0 8px !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:0 16px 36px rgba(0,0,0,.08);
  }

  .dark-mode .pl-smart-navbar .navbar-collapse{
    background:rgba(12,13,12,.96) !important;
  }

  .pl-smart-navbar .navbar-nav .nav-link{
    padding:8px 12px !important;
    font-size:12px !important;
  }
}

:root{
  --pl-nav-height:62px;
}

html,
body{
  overflow-x:hidden;
}

body{
  padding-top:0 !important;
}

.pl-smart-navbar,
.navbar.pl-smart-navbar{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  height:var(--pl-nav-height) !important;
  min-height:var(--pl-nav-height) !important;
  padding:0 !important;
  z-index:10000 !important;
  background:rgba(255,255,255,.94) !important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(20,20,20,.06);
  box-shadow:0 8px 26px rgba(0,0,0,.035);
  transform:translate3d(0,0,0);
  transition:transform .32s cubic-bezier(.22,.61,.36,1), background .22s ease, box-shadow .22s ease;
}

.dark-mode .pl-smart-navbar,
.dark-mode .navbar.pl-smart-navbar{
  background:rgba(12,13,12,.92) !important;
  border-bottom-color:rgba(255,255,255,.08);
  box-shadow:0 10px 28px rgba(0,0,0,.24);
}

.pl-smart-navbar.nav-hidden{
  transform:translate3d(0, calc(-1 * var(--pl-nav-height) - 10px), 0) !important;
}

.pl-smart-navbar.nav-visible,
.pl-smart-navbar.nav-at-top,
.pl-smart-navbar:hover,
.pl-smart-navbar:focus-within{
  transform:translate3d(0,0,0) !important;
}

.pl-smart-navbar .container{
  height:var(--pl-nav-height) !important;
  min-height:var(--pl-nav-height) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
}

.pl-smart-navbar .navbar-brand{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  height:var(--pl-nav-height) !important;
  padding:0 !important;
  margin:0 !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1 !important;
  white-space:nowrap;
}

.pl-smart-navbar .brand-image-badge,
.pl-smart-navbar .brand-badge{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  margin-right:4px !important;
}

.pl-smart-navbar .navbar-collapse{
  align-items:center !important;
}

.pl-smart-navbar .navbar-nav{
  align-items:center !important;
  gap:4px !important;
}

.pl-smart-navbar .navbar-nav .nav-link{
  display:flex !important;
  align-items:center !important;
  height:34px !important;
  padding:0 10px !important;
  font-size:12px !important;
  line-height:1 !important;
}

.pl-smart-navbar .color-mode{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  height:34px !important;
  padding:0 10px !important;
  font-size:12px !important;
  line-height:1 !important;
  white-space:nowrap;
}

.pl-smart-navbar .color-mode-icon{
  width:17px !important;
  height:17px !important;
  margin-right:6px !important;
}


.about.full-screen{
  padding-top:calc(var(--pl-nav-height) + 52px) !important;
}


@media (max-width:767px){
  :root{
    --pl-nav-height:58px;
  }

  .pl-smart-navbar,
  .navbar.pl-smart-navbar{
    height:auto !important;
    min-height:var(--pl-nav-height) !important;
  }

  .pl-smart-navbar .container{
    min-height:var(--pl-nav-height) !important;
    height:auto !important;
  }

  .pl-smart-navbar .navbar-brand{
    height:var(--pl-nav-height) !important;
    font-size:14px !important;
  }

  .pl-smart-navbar .brand-image-badge,
  .pl-smart-navbar .brand-badge{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
  }

  .pl-smart-navbar .navbar-toggler{
    padding:4px 6px !important;
    border:0 !important;
  }

  .pl-smart-navbar .navbar-collapse{
    width:100%;
    margin-top:0 !important;
    padding:8px 0 12px !important;
    border-radius:0 0 16px 16px !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .pl-smart-navbar .navbar-nav{
    align-items:flex-start !important;
    gap:2px !important;
  }

  .pl-smart-navbar .navbar-nav .nav-link{
    height:34px !important;
    padding:0 12px !important;
    font-size:13px !important;
  }
}

:root{
  --pl-nav-height:58px;
}

body{
  padding-top:0 !important;
}

.pl-smart-navbar,
.navbar.pl-smart-navbar{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  height:var(--pl-nav-height) !important;
  min-height:var(--pl-nav-height) !important;
  padding:0 !important;
  z-index:10000 !important;
  background:rgba(255,255,255,.94) !important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(20,20,20,.06);
  box-shadow:0 8px 24px rgba(0,0,0,.04);
  transform:translate3d(0,0,0);
  transition:transform .3s cubic-bezier(.22,.61,.36,1), background .22s ease, box-shadow .22s ease;
}

.dark-mode .pl-smart-navbar,
.dark-mode .navbar.pl-smart-navbar{
  background:rgba(12,13,12,.94) !important;
  border-bottom-color:rgba(255,255,255,.08);
  box-shadow:0 10px 28px rgba(0,0,0,.24);
}

.pl-smart-navbar.nav-hidden{
  transform:translate3d(0, calc(-1 * var(--pl-nav-height) - 8px), 0) !important;
}

.pl-smart-navbar.nav-visible,
.pl-smart-navbar.nav-at-top,
.pl-smart-navbar:hover,
.pl-smart-navbar:focus-within{
  transform:translate3d(0,0,0) !important;
}

.pl-smart-navbar .container{
  height:var(--pl-nav-height) !important;
  min-height:var(--pl-nav-height) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:nowrap !important;
}

.pl-smart-navbar .navbar-brand{
  height:var(--pl-nav-height) !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:0 !important;
  margin:0 !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.pl-smart-navbar .brand-image-badge,
.pl-smart-navbar .brand-badge{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  margin-right:4px !important;
}

.pl-smart-navbar .navbar-collapse{
  flex-grow:1 !important;
  align-items:center !important;
}

.pl-smart-navbar .navbar-nav{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}

.pl-smart-navbar .navbar-nav.mx-auto{
  justify-content:center !important;
}

.pl-smart-navbar .navbar-nav.ml-lg-auto{
  justify-content:flex-end !important;
}

.pl-smart-navbar .navbar-nav .nav-link{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:34px !important;
  padding:0 8px !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
}


.pl-smart-navbar .navbar-nav .nav-link span:before,
.pl-smart-navbar .navbar-nav .nav-link span:after,
.pl-smart-navbar .navbar-nav .nav-link:before,
.pl-smart-navbar .navbar-nav .nav-link:after{
  content:none !important;
  display:none !important;
}

.pl-smart-navbar .color-mode{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 10px !important;
  margin:0 !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  border-radius:999px;
}

.pl-smart-navbar .color-mode-icon{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  margin:0 !important;
  line-height:1 !important;
  vertical-align:middle !important;
}


.pl-smart-navbar .color-mode-icon:before{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:18px !important;
  height:18px !important;
  line-height:18px !important;
  margin:0 !important;
  transform:none !important;
}


.about.full-screen{
  padding-top:calc(var(--pl-nav-height) + 52px) !important;
}


@media (max-width:767px){
  :root{
    --pl-nav-height:58px;
  }

  .pl-smart-navbar,
  .navbar.pl-smart-navbar{
    height:auto !important;
    min-height:var(--pl-nav-height) !important;
  }

  .pl-smart-navbar .container{
    height:auto !important;
    min-height:var(--pl-nav-height) !important;
    flex-wrap:wrap !important;
  }

  .pl-smart-navbar .navbar-brand{
    height:var(--pl-nav-height) !important;
    font-size:14px !important;
  }

  .pl-smart-navbar .brand-image-badge,
  .pl-smart-navbar .brand-badge{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
  }

  .pl-smart-navbar .navbar-toggler{
    padding:4px 6px !important;
    border:0 !important;
  }

  .pl-smart-navbar .navbar-collapse{
    width:100% !important;
    flex-basis:100% !important;
    margin-top:0 !important;
    padding:8px 0 12px !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .pl-smart-navbar .navbar-nav{
    align-items:flex-start !important;
    gap:2px !important;
  }

  .pl-smart-navbar .navbar-nav .nav-link{
    height:34px !important;
    padding:0 12px !important;
    justify-content:flex-start !important;
    font-size:13px !important;
  }

  .pl-smart-navbar .color-mode{
    justify-content:flex-start !important;
    margin-left:12px !important;
  }
}

.process-timeline{
  --circle-size:68px !important;
  --circle-x:34px !important;
  --text-x:104px !important;
}

.process-timeline .timeline-wrapper{
  min-height:136px !important;
}

.process-timeline .timeline-wrapper:last-child{
  min-height:68px !important;
}

.process-timeline .timeline-yr{
  width:var(--circle-size) !important;
  height:var(--circle-size) !important;
  line-height:var(--circle-size) !important;
}

.process-timeline .timeline-wrapper:last-child .timeline-segment{
  height:var(--circle-size) !important;
}

.process-timeline .timeline-info{
  margin-left:var(--text-x) !important;
  padding-top:5px !important;
}

.process-timeline .timeline-info h3{
  gap:10px 14px !important;
}

.process-timeline .timeline-info h3 span{
  font-size:clamp(25px, 2.3vw, 34px);
}

.process-timeline .timeline-info h3 small{
  font-size:13px;
}

.process-timeline .timeline-info p{
  max-width:520px;
  font-size:16px;
  line-height:1.48;
}


@media (min-width:992px){
  .pinned-timeline-section{
    padding-top:76px !important;
    padding-bottom:80px !important;
  }
}

@media (max-width:991px){
  .process-timeline{
    --circle-size:58px !important;
    --circle-x:29px !important;
    --text-x:86px !important;
  }

  .process-timeline .timeline-wrapper{
    min-height:auto !important;
    padding-bottom:38px !important;
  }

  .process-timeline .timeline-wrapper:last-child{
    padding-bottom:0 !important;
  }

  .process-timeline .timeline-info h3 span{
    font-size:25px;
  }

  .process-timeline .timeline-info p{
    font-size:15px;
  }
}

.pinned-timeline-section{
  padding-top:82px !important;
  padding-bottom:86px !important;
}

@media (min-width:992px){
  .pinned-timeline-section > .container{
    position:relative !important;
    top:auto !important;
    min-height:0 !important;
    height:auto !important;
    display:block !important;
  }

  .pinned-timeline-section .row{
    align-items:flex-start !important;
  }
}


.process-timeline{
  --circle-size:74px !important;
  --circle-x:37px !important;
  --text-x:112px !important;
  margin-top:30px !important;
}

.process-timeline .timeline-wrapper{
  min-height:148px !important;
  padding-left:0 !important;
  position:relative !important;
  transform:none !important;
}

.process-timeline .timeline-wrapper:last-child{
  min-height:74px !important;
  padding-bottom:0 !important;
}

.process-timeline .timeline-segment{
  position:absolute !important;
  left:var(--circle-x) !important;
  top:0 !important;
  width:4px !important;
  height:100% !important;
  transform:translateX(-50%) !important;
  border-radius:999px !important;
  background:#474559 !important;
  z-index:0 !important;
  display:block !important;
}

.process-timeline .timeline-wrapper:last-child .timeline-segment{
  height:var(--circle-size) !important;
}

.process-timeline .timeline-wrapper.is-active .timeline-segment,
.process-timeline .timeline-wrapper.is-complete .timeline-segment{
  background:#ffc200 !important;
}

.process-timeline .timeline-wrapper:before,
.process-timeline .timeline-progress-line{
  display:none !important;
}

.process-timeline .timeline-yr{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  margin-left:0 !important;
  width:var(--circle-size) !important;
  height:var(--circle-size) !important;
  line-height:var(--circle-size) !important;
  z-index:2 !important;
  transform:none !important;
}

.process-timeline .timeline-yr span{
  font-size:20px !important;
  font-weight:900 !important;
}

.process-timeline .timeline-info{
  margin-left:var(--text-x) !important;
  padding-top:8px !important;
  max-width:none !important;
  transform:none !important;
}

.process-timeline .timeline-info h3{
  display:flex !important;
  align-items:baseline !important;
  flex-wrap:wrap !important;
  gap:10px 16px !important;
  margin-bottom:10px !important;
}

.process-timeline .timeline-info h3 span{
  font-size:clamp(30px, 3vw, 42px) !important;
  line-height:1 !important;
  min-width:0 !important;
}

.process-timeline .timeline-info h3 small{
  margin-left:0 !important;
  font-size:14px !important;
  font-weight:800 !important;
}

.process-timeline .timeline-info p{
  max-width:560px !important;
  font-size:20px !important;
  line-height:1.45 !important;
}


.process-timeline .timeline-wrapper{
  opacity:.42 !important;
}

.process-timeline .timeline-wrapper.is-active,
.process-timeline .timeline-wrapper.is-complete{
  opacity:1 !important;
}

.process-timeline .timeline-wrapper.is-active,
.process-timeline .timeline-wrapper.is-complete,
.process-timeline .timeline-wrapper.is-active .timeline-info{
  transform:none !important;
}

.process-timeline .timeline-wrapper.is-active .timeline-info h3 span{
  color:#ffc200 !important;
}

.process-timeline .timeline-wrapper.is-active .timeline-yr,
.process-timeline .timeline-wrapper.is-complete .timeline-yr{
  background:#ffc200 !important;
  box-shadow:0 14px 36px rgba(255,194,0,.20) !important;
}

.process-timeline .timeline-wrapper.is-active .timeline-yr span,
.process-timeline .timeline-wrapper.is-complete .timeline-yr span{
  color:#111 !important;
}


.stack-timeline{
  --stack-circle-size:68px;
  --stack-circle-x:34px;
  --stack-text-x:104px;
  position:relative !important;
  margin-top:30px !important;
}

.stack-timeline .timeline-wrapper{
  position:relative !important;
  min-height:128px !important;
  padding-left:0 !important;
  margin:0 !important;
  transform:none !important;
}

.stack-timeline .timeline-wrapper:last-child{
  min-height:68px !important;
}

.stack-timeline .timeline-wrapper:before{
  display:none !important;
}


.stack-timeline .timeline-wrapper::after{
  content:"" !important;
  position:absolute !important;
  left:var(--stack-circle-x) !important;
  top:0 !important;
  width:4px !important;
  height:100% !important;
  transform:translateX(-50%) !important;
  border-radius:999px !important;
  background:#474559 !important;
  z-index:0 !important;
  display:block !important;
}

.stack-timeline .timeline-wrapper:last-child::after{
  height:var(--stack-circle-size) !important;
}

.stack-timeline .timeline-yr{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  margin-left:0 !important;
  width:var(--stack-circle-size) !important;
  height:var(--stack-circle-size) !important;
  line-height:var(--stack-circle-size) !important;
  background:#474559 !important;
  z-index:2 !important;
  transform:none !important;
}

.stack-timeline .timeline-yr span{
  color:#fff !important;
  font-size:18px !important;
  font-weight:900 !important;
}

.stack-timeline .timeline-info{
  margin-left:var(--stack-text-x) !important;
  padding-top:8px !important;
  max-width:none !important;
}

.stack-timeline .timeline-info h3{
  display:flex !important;
  align-items:baseline !important;
  flex-wrap:wrap !important;
  gap:10px 14px !important;
  margin-bottom:9px !important;
}

.stack-timeline .timeline-info h3 span{
  font-size:28px !important;
  line-height:1.05 !important;
}

.stack-timeline .timeline-info h3 small{
  margin-left:0 !important;
  font-size:13px !important;
  font-weight:800 !important;
}

.stack-timeline .timeline-info p{
  max-width:500px !important;
  font-size:16px !important;
  line-height:1.45 !important;
}

@media (max-width:991px){
  .process-timeline{
    --circle-size:60px !important;
    --circle-x:30px !important;
    --text-x:88px !important;
  }

  .process-timeline .timeline-wrapper{
    min-height:auto !important;
    padding-bottom:42px !important;
    opacity:1 !important;
  }

  .process-timeline .timeline-wrapper:last-child{
    padding-bottom:0 !important;
  }

  .process-timeline .timeline-info h3 span{
    font-size:26px !important;
  }

  .process-timeline .timeline-info p{
    font-size:15px !important;
  }

  .stack-timeline{
    --stack-circle-size:60px;
    --stack-circle-x:30px;
    --stack-text-x:88px;
  }

  .stack-timeline .timeline-wrapper{
    min-height:auto !important;
    padding-bottom:42px !important;
  }

  .stack-timeline .timeline-wrapper:last-child{
    padding-bottom:0 !important;
  }
}

.process-timeline{
  --pl-cinema-yellow:#ffc200;
  --pl-cinema-line:#3f3d4e;
  --pl-cinema-muted:rgba(245,240,232,.46);
  --pl-cinema-glow:rgba(255,194,0,.32);
}


.process-timeline .timeline-segment{
  overflow:hidden !important;
  background:var(--pl-cinema-line) !important;
  box-shadow:none !important;
}

.process-timeline .timeline-segment::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:var(--segment-progress, 0%);
  border-radius:999px;
  background:linear-gradient(180deg, #fff0a6 0%, var(--pl-cinema-yellow) 46%, #d99500 100%);
  box-shadow:
    0 0 12px rgba(255,194,0,.30),
    0 0 30px rgba(255,194,0,.10);
  transition:height .72s cubic-bezier(.22,.61,.36,1);
}

.process-timeline .timeline-wrapper.is-complete .timeline-segment::after{
  height:100%;
}


.process-timeline .timeline-yr{
  transition:
    background-color .52s ease,
    box-shadow .62s ease,
    transform .62s cubic-bezier(.16,1,.3,1),
    opacity .48s ease !important;
}

.process-timeline .timeline-wrapper.is-active .timeline-yr{
  animation:timelineBreathStable 2.55s ease-in-out infinite;
}

@keyframes timelineBreathStable{
  0%,100%{
    transform:scale(1);
    box-shadow:
      0 14px 34px rgba(255,194,0,.22),
      0 0 0 0 rgba(255,194,0,.18);
  }
  50%{
    transform:scale(1.045);
    box-shadow:
      0 18px 46px rgba(255,194,0,.34),
      0 0 0 10px rgba(255,194,0,.055);
  }
}


.process-timeline .timeline-info{
  transition:
    opacity .64s ease,
    transform .72s cubic-bezier(.16,1,.3,1),
    filter .64s ease !important;
}

.process-timeline .timeline-info h3 span,
.process-timeline .timeline-info h3 small,
.process-timeline .timeline-info p{
  transition:
    opacity .64s ease,
    color .64s ease,
    transform .72s cubic-bezier(.16,1,.3,1),
    text-shadow .64s ease,
    filter .64s ease !important;
}

.process-timeline .timeline-wrapper:not(.is-active):not(.is-complete) .timeline-info{
  opacity:.40 !important;
  transform:translateY(7px) !important;
  filter:blur(.12px);
}

.process-timeline .timeline-wrapper:not(.is-active):not(.is-complete) .timeline-info h3 span,
.process-timeline .timeline-wrapper:not(.is-active):not(.is-complete) .timeline-info h3 small,
.process-timeline .timeline-wrapper:not(.is-active):not(.is-complete) .timeline-info p{
  transform:translateY(3px);
}

.process-timeline .timeline-wrapper.is-active .timeline-info{
  opacity:1 !important;
  transform:translateY(0) !important;
  filter:none;
}

.process-timeline .timeline-wrapper.is-active .timeline-info h3 span{
  color:var(--pl-cinema-yellow) !important;
  text-shadow:0 0 24px rgba(255,194,0,.14);
}

.process-timeline .timeline-wrapper.is-active .timeline-info h3 small{
  color:var(--pl-cinema-yellow) !important;
  opacity:.96;
}


.pinned-timeline-section.timeline-cinema-ready .process-timeline .timeline-wrapper{
  animation:timelineRevealStable .72s cubic-bezier(.16,1,.3,1) both;
  animation-delay:calc(var(--step-index, 0) * .055s);
}

@keyframes timelineRevealStable{
  0%{
    opacity:0;
    transform:translateY(14px) !important;
  }
  100%{
    opacity:1;
    transform:translateY(0) !important;
  }
}


.process-timeline .timeline-info{
  position:relative;
}

.process-timeline .timeline-wrapper.is-active .timeline-info::before{
  content:"";
  position:absolute;
  left:-22px;
  top:-16px;
  width:min(440px, 70vw);
  height:110px;
  background:radial-gradient(circle at 0% 50%, rgba(255,194,0,.095), transparent 68%);
  pointer-events:none;
  z-index:-1;
}


.pinned-timeline-section.timeline-cinema-ready.timeline-cinema-settled .process-timeline .timeline-wrapper{
  animation:none !important;
}


@media (max-width:991px){
  .process-timeline .timeline-wrapper{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
  }

  .process-timeline .timeline-segment::after{
    height:100% !important;
  }

  .process-timeline .timeline-wrapper .timeline-info{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .process-timeline .timeline-wrapper,
  .process-timeline .timeline-yr,
  .process-timeline .timeline-info,
  .process-timeline .timeline-segment::after{
    animation:none !important;
    transition:none !important;
  }
}

.process-timeline .timeline-wrapper.is-active .timeline-info::before,
.process-timeline .timeline-info::before{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  background:none !important;
}

.process-timeline .timeline-wrapper.is-active .timeline-info{
  background:transparent !important;
  box-shadow:none !important;
}

.process-timeline .timeline-wrapper.is-active .timeline-info h3 span{
  text-shadow:0 0 18px rgba(255,194,0,.10) !important;
}

.floating-cta{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:9990;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:10px 15px 10px 13px;
  border-radius:999px;
  background:rgba(255,194,0,.94);
  color:#111111 !important;
  font-size:13px;
  font-weight:900;
  line-height:1;
  letter-spacing:-.01em;
  box-shadow:
    0 16px 42px rgba(0,0,0,.26),
    0 0 0 1px rgba(255,255,255,.10) inset;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(14px) scale(.96);
  transition:
    opacity .28s ease,
    visibility .28s ease,
    transform .32s cubic-bezier(.16,1,.3,1),
    background .22s ease,
    box-shadow .22s ease;
}

.floating-cta.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

.floating-cta:hover{
  color:#111111 !important;
  text-decoration:none;
  background:#ffd23d;
  transform:translateY(-3px) scale(1.015);
  box-shadow:
    0 22px 58px rgba(0,0,0,.34),
    0 0 0 1px rgba(255,255,255,.18) inset;
}

.floating-cta__dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#111111;
  box-shadow:0 0 0 0 rgba(17,17,17,.28);
  animation:floatingCtaPulse 2.4s ease-in-out infinite;
}

.floating-cta__arrow{
  display:inline-block;
  font-size:14px;
  transform:translateY(-1px);
  transition:transform .22s ease;
}

.floating-cta:hover .floating-cta__arrow{
  transform:translate(2px, -3px);
}

@keyframes floatingCtaPulse{
  0%,100%{
    box-shadow:0 0 0 0 rgba(17,17,17,.24);
  }
  50%{
    box-shadow:0 0 0 7px rgba(17,17,17,0);
  }
}

.dark-mode .floating-cta{
  background:rgba(255,194,0,.92);
  color:#111111 !important;
}

@media (max-width:767px){
  .floating-cta{
    right:16px;
    bottom:16px;
    min-height:40px;
    padding:10px 13px;
    font-size:12px;
  }
}

@media (prefers-reduced-motion: reduce){
  .floating-cta,
  .floating-cta__dot,
  .floating-cta__arrow{
    animation:none !important;
    transition:none !important;
  }
}

.hero-scroll-indicator{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:28px;
  color:#f5f0e8 !important;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.72;
  text-decoration:none !important;
  transition:
    opacity .24s ease,
    transform .28s cubic-bezier(.16,1,.3,1),
    color .24s ease;
}

.hero-scroll-indicator:hover{
  opacity:1;
  color:#ffc200 !important;
  transform:translateY(2px);
  text-decoration:none !important;
}

.hero-scroll-indicator__text{
  display:inline-block;
}

.hero-scroll-indicator__line{
  position:relative;
  display:inline-block;
  width:2px;
  height:46px;
  border-radius:999px;
  background:rgba(245,240,232,.18);
  overflow:hidden;
}

.hero-scroll-indicator__line::after{
  content:"";
  position:absolute;
  left:0;
  top:-45%;
  width:100%;
  height:45%;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,194,0,0), rgba(255,194,0,.95), rgba(255,194,0,0));
  animation:heroScrollLine 1.85s cubic-bezier(.65,0,.35,1) infinite;
}

@keyframes heroScrollLine{
  0%{
    top:-45%;
    opacity:0;
  }
  18%{
    opacity:1;
  }
  78%{
    opacity:1;
  }
  100%{
    top:100%;
    opacity:0;
  }
}

.hero-scroll-indicator::after{
  content:"";
  width:7px;
  height:7px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-1px);
  opacity:.76;
  animation:heroScrollChevron 1.85s ease-in-out infinite;
}

@keyframes heroScrollChevron{
  0%,100%{
    transform:rotate(45deg) translateY(-1px);
    opacity:.45;
  }
  50%{
    transform:rotate(45deg) translate(3px, 3px);
    opacity:1;
  }
}

body:not(.dark-mode) .hero-scroll-indicator{
  color:#474559 !important;
}

body:not(.dark-mode) .hero-scroll-indicator__line{
  background:rgba(71,69,89,.16);
}

@media (max-width:991px){
  .hero-scroll-indicator{
    margin-top:22px;
  }
}

@media (max-width:767px){
  .hero-scroll-indicator{
    display:flex;
    justify-content:flex-start;
    margin-top:20px;
    font-size:11px;
  }

  .hero-scroll-indicator__line{
    height:38px;
  }
}

@media (prefers-reduced-motion: reduce){
  .hero-scroll-indicator__line::after,
  .hero-scroll-indicator::after{
    animation:none !important;
  }
}

@media (min-width: 992px){
  .fullscreen-sections-experiment section:not(.github-projects-section){
    min-height:100vh;
    min-height:100svh;
    display:flex;
    align-items:center;
  }

  .fullscreen-sections-experiment section:not(.github-projects-section) > .container{
    width:100%;
  }

  .fullscreen-sections-experiment .about.full-screen{
    min-height:100vh !important;
    min-height:100svh !important;
    padding-top:88px !important;
    padding-bottom:64px !important;
  }

  .fullscreen-sections-experiment .social-section,
  .fullscreen-sections-experiment .contact-form-section{
    padding-top:82px !important;
    padding-bottom:82px !important;
  }

  .fullscreen-sections-experiment .pinned-timeline-section{
    min-height:100vh !important;
    min-height:100svh !important;
    padding-top:74px !important;
    padding-bottom:74px !important;
  }

  .fullscreen-sections-experiment .github-projects-section{
    min-height:100vh;
    min-height:100svh;
    padding-top:92px !important;
    padding-bottom:92px !important;
  }

  .fullscreen-sections-experiment section + section{
    margin-top:0 !important;
  }
}

@media (min-width:992px) and (max-height:760px){
  .fullscreen-sections-experiment section:not(.github-projects-section){
    min-height:auto;
    display:block;
  }

  .fullscreen-sections-experiment .about.full-screen{
    min-height:100vh !important;
    min-height:100svh !important;
    display:flex;
    align-items:center;
  }

  .fullscreen-sections-experiment .pinned-timeline-section{
    min-height:auto !important;
  }
}

@media (max-width:991px){
  .fullscreen-sections-experiment section{
    min-height:auto;
  }
}

@media (min-width: 992px){
  .fullscreen-sections-experiment .contact-form-section{
    min-height:auto !important;
    display:block !important;
    align-items:initial !important;
    padding-top:76px !important;
    padding-bottom:34px !important;
  }

  .fullscreen-sections-experiment .contact-form-section > .container{
    width:100%;
  }
}


.footer,
footer.footer{
  padding-top:18px !important;
  padding-bottom:18px !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  min-height:auto !important;
  line-height:1.1 !important;
}

.footer .container,
footer.footer .container{
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.footer .copyright-text,
footer.footer .copyright-text{
  margin:0 !important;
  padding:0 !important;
  font-size:13px !important;
  line-height:1.15 !important;
  font-weight:700;
}


.contact-form-section + .footer,
.contact-form-section + footer.footer{
  margin-top:0 !important;
}

@media (max-width: 991px){
  .fullscreen-sections-experiment .contact-form-section{
    padding-bottom:34px !important;
  }

  .footer,
  footer.footer{
    padding-top:16px !important;
    padding-bottom:16px !important;
  }

  .footer .copyright-text,
  footer.footer .copyright-text{
    font-size:12px !important;
    line-height:1.18 !important;
  }
}

:root{
  --pl-navbar-height:68px;
}

html{
  scroll-padding-top:calc(var(--pl-navbar-height) + 14px);
}

body{
  padding-top:0 !important;
}

.pl-active-navbar,
.navbar.pl-active-navbar{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  min-height:var(--pl-navbar-height) !important;
  z-index:10000 !important;
  padding:0 !important;
  background:rgba(7, 8, 7, .88) !important;
  border-bottom:1px solid rgba(255,255,255,.075);
  box-shadow:0 12px 36px rgba(0,0,0,.20);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  transform:none !important;
  transition:
    background .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
}

body:not(.dark-mode) .pl-active-navbar,
body:not(.dark-mode) .navbar.pl-active-navbar{
  background:rgba(255,255,255,.92) !important;
  border-bottom-color:rgba(20,20,20,.07);
  box-shadow:0 12px 34px rgba(0,0,0,.055);
}

.pl-active-navbar.headroom--pinned,
.pl-active-navbar.headroom--unpinned,
.pl-active-navbar.headroom--top,
.pl-active-navbar.headroom--not-top{
  transform:none !important;
}

.pl-active-navbar .container{
  min-height:var(--pl-navbar-height) !important;
  display:flex !important;
  align-items:center !important;
}

.pl-active-navbar .navbar-brand{
  display:flex !important;
  align-items:center !important;
  padding:0 !important;
  margin:0 !important;
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:-.015em;
}

.pl-active-navbar .brand-badge,
.pl-active-navbar .brand-image-badge{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  margin-right:8px !important;
}

.pl-active-navbar .navbar-nav{
  align-items:center !important;
}

.pl-active-navbar .navbar-nav .nav-link{
  position:relative;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px;
  padding:8px 12px !important;
  color:rgba(245,240,232,.72) !important;
  font-size:13.5px !important;
  font-weight:850 !important;
  line-height:1 !important;
  letter-spacing:-.005em;
  white-space:nowrap;
  transition:
    color .22s ease,
    opacity .22s ease,
    transform .22s ease;
}


.pl-active-navbar .navbar-nav .nav-link::before,
.pl-active-navbar .navbar-nav .nav-link::after,
.pl-active-navbar .navbar-nav .nav-link span::before,
.pl-active-navbar .navbar-nav .nav-link span::after{
  display:none !important;
  content:none !important;
}

.pl-active-navbar .navbar-nav .nav-link:hover,
.pl-active-navbar .navbar-nav .nav-link:focus{
  color:#ffc200 !important;
  transform:translateY(-1px);
}

.pl-active-navbar .navbar-nav .nav-link.is-active{
  color:#111111 !important;
  background:#ffc200;
  border-radius:999px;
  box-shadow:
    0 10px 28px rgba(255,194,0,.20),
    0 0 0 1px rgba(255,255,255,.12) inset;
}

.pl-active-navbar .navbar-nav .nav-link.is-active:hover,
.pl-active-navbar .navbar-nav .nav-link.is-active:focus{
  color:#111111 !important;
  transform:translateY(-1px);
}

body:not(.dark-mode) .pl-active-navbar .navbar-nav .nav-link{
  color:rgba(71,69,89,.72) !important;
}

body:not(.dark-mode) .pl-active-navbar .navbar-nav .nav-link:hover,
body:not(.dark-mode) .pl-active-navbar .navbar-nav .nav-link:focus{
  color:#111111 !important;
}

body:not(.dark-mode) .pl-active-navbar .navbar-nav .nav-link.is-active{
  color:#111111 !important;
  background:#ffc200;
}

.pl-active-navbar .color-mode{
  min-height:38px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:7px;
  padding:7px 12px !important;
  color:rgba(245,240,232,.82) !important;
  font-size:13px !important;
  font-weight:850 !important;
  line-height:1 !important;
  border-radius:999px;
}

body:not(.dark-mode) .pl-active-navbar .color-mode{
  color:rgba(71,69,89,.86) !important;
}

.pl-active-navbar .color-mode-icon{
  margin-right:0 !important;
}


.fullscreen-sections-experiment .about.full-screen,
.about.full-screen{
  padding-top:calc(var(--pl-navbar-height) + 42px) !important;
}


@media (max-width:767px){
  :root{
    --pl-navbar-height:62px;
  }

  .pl-active-navbar,
  .navbar.pl-active-navbar{
    min-height:var(--pl-navbar-height) !important;
  }

  .pl-active-navbar .container{
    min-height:var(--pl-navbar-height) !important;
  }

  .pl-active-navbar .navbar-brand{
    font-size:15px !important;
  }

  .pl-active-navbar .brand-badge,
  .pl-active-navbar .brand-image-badge{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
  }

  .pl-active-navbar .navbar-toggler{
    border:0 !important;
    padding:5px 7px !important;
  }

  .pl-active-navbar .navbar-collapse{
    width:100%;
    padding:10px 0 12px;
  }

  .pl-active-navbar .navbar-nav{
    align-items:flex-start !important;
  }

  .pl-active-navbar .navbar-nav .nav-link{
    justify-content:flex-start !important;
    width:100%;
    min-height:40px;
    padding:10px 14px !important;
    font-size:14px !important;
  }

  .pl-active-navbar .navbar-nav .nav-link.is-active{
    width:auto;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .pl-active-navbar .color-mode{
    margin-left:10px;
  }
}

.hero-entry-section .hero-entry{
  opacity:0;
  transform:translate3d(0, 18px, 0);
  will-change:opacity, transform;
}

body.hero-entry-ready .hero-entry-section .hero-entry{
  animation:heroFadeSlide .78s cubic-bezier(.16,1,.3,1) forwards;
}

body.hero-entry-ready .hero-entry-section .hero-entry-kicker{
  animation-delay:.04s;
}

body.hero-entry-ready .hero-entry-section .hero-entry-title{
  animation-delay:.12s;
}

body.hero-entry-ready .hero-entry-section .hero-entry-copy{
  animation-delay:.22s;
}

body.hero-entry-ready .hero-entry-section .hero-entry-buttons{
  animation-delay:.32s;
}

body.hero-entry-ready .hero-entry-section .hero-entry-scroll{
  animation-delay:.42s;
}


.hero-entry-section .hero-entry-image{
  transform:translate3d(22px, 0, 0);
}

body.hero-entry-ready .hero-entry-section .hero-entry-image{
  animation:heroImageSlide .84s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay:.18s;
}

@keyframes heroFadeSlide{
  from{
    opacity:0;
    transform:translate3d(0, 18px, 0);
  }
  to{
    opacity:1;
    transform:translate3d(0, 0, 0);
  }
}

@keyframes heroImageSlide{
  from{
    opacity:0;
    transform:translate3d(22px, 0, 0);
  }
  to{
    opacity:1;
    transform:translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce){
  .hero-entry-section .hero-entry{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
  }
}

.github-project-grid{
  contain:layout paint;
}

.github-project-grid.is-filtering{
  pointer-events:none;
}

.github-project-card{
  will-change:transform, opacity;
  backface-visibility:hidden;
}

.github-project-card.is-filtering-out,
.github-project-card.is-filtering-in{
  pointer-events:none;
}

.repo-empty-message{
  opacity:0;
  transform:translateY(6px);
  transition:opacity .22s ease, transform .26s cubic-bezier(.16,1,.3,1);
}

.repo-empty-message:not([hidden]){
  opacity:1;
  transform:translateY(0);
}

.repo-filter-btn{
  transition:
    background-color .20s ease,
    color .20s ease,
    border-color .20s ease,
    transform .20s ease,
    box-shadow .20s ease !important;
}

.repo-filter-btn.active{
  transform:translateY(-1px);
}

@media (prefers-reduced-motion: reduce){
  .github-project-card,
  .repo-empty-message,
  .repo-filter-btn{
    animation:none !important;
    transition:none !important;
    transform:none !important;
  }
}

.pl-section-reveal-pending{
  opacity:0;
  transform:translate3d(0, 20px, 0);
  will-change:opacity, transform;
}

.pl-section-reveal-visible{
  opacity:1;
  transform:translate3d(0, 0, 0);
  transition:
    opacity .58s cubic-bezier(.16,1,.3,1),
    transform .64s cubic-bezier(.16,1,.3,1);
  transition-delay:calc(var(--pl-reveal-order, 0) * 46ms);
}


.pl-section-reveal-title.pl-section-reveal-pending{
  transform:translate3d(0, 14px, 0);
}

.pl-section-reveal-card.pl-section-reveal-pending{
  transform:translate3d(0, 22px, 0);
}

.pl-section-reveal-side.pl-section-reveal-pending{
  transform:translate3d(18px, 0, 0);
}


.github-project-card.pl-section-reveal-visible{
  will-change:auto;
}


.github-project-grid.is-filtering .github-project-card{
  transition-delay:0ms !important;
}

@media (max-width:767px){
  .pl-section-reveal-pending{
    transform:translate3d(0, 14px, 0);
  }

  .pl-section-reveal-visible{
    transition-duration:.46s;
    transition-delay:calc(var(--pl-reveal-order, 0) * 30ms);
  }
}

@media (prefers-reduced-motion: reduce){
  .pl-section-reveal-pending,
  .pl-section-reveal-visible{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
    will-change:auto !important;
  }
}

@media (min-width: 992px){
  .fullscreen-sections-experiment .pinned-timeline-section{
    min-height:100vh !important;
    min-height:100svh !important;
    padding-top:calc(var(--pl-navbar-height, 68px) + 22px) !important;
    padding-bottom:34px !important;
    display:flex !important;
    align-items:center !important;
  }

  .fullscreen-sections-experiment .pinned-timeline-section > .container{
    width:100%;
  }

  .pinned-timeline-section .row{
    align-items:flex-start !important;
  }

  .pinned-timeline-section h2{
    margin-bottom:14px !important;
    font-size:clamp(30px, 2.6vw, 42px) !important;
    line-height:1.02 !important;
  }

  .timeline-scroll-note{
    margin-bottom:16px !important;
    font-size:13px !important;
    line-height:1.35 !important;
    max-width:520px;
  }

  
  .process-timeline{
    --circle-size:58px !important;
    --circle-x:29px !important;
    --text-x:86px !important;
    margin-top:12px !important;
  }

  .process-timeline .timeline-wrapper{
    min-height:112px !important;
  }

  .process-timeline .timeline-wrapper:last-child{
    min-height:58px !important;
  }

  .process-timeline .timeline-wrapper:last-child .timeline-segment{
    height:58px !important;
  }

  .process-timeline .timeline-yr{
    width:58px !important;
    height:58px !important;
    line-height:58px !important;
  }

  .process-timeline .timeline-yr span{
    font-size:17px !important;
    font-weight:900 !important;
  }

  .process-timeline .timeline-info{
    margin-left:86px !important;
    padding-top:2px !important;
  }

  .process-timeline .timeline-info h3{
    margin-bottom:5px !important;
    gap:7px 10px !important;
  }

  .process-timeline .timeline-info h3 span{
    font-size:clamp(24px, 2.05vw, 32px) !important;
    line-height:1.02 !important;
  }

  .process-timeline .timeline-info h3 small{
    font-size:12px !important;
    line-height:1.05 !important;
  }

  .process-timeline .timeline-info p{
    max-width:540px !important;
    font-size:15.2px !important;
    line-height:1.34 !important;
    margin-bottom:0 !important;
  }

  
  .stack-timeline{
    --stack-circle-size:56px !important;
    --stack-circle-x:28px !important;
    --stack-text-x:84px !important;
    margin-top:12px !important;
  }

  .stack-timeline .timeline-wrapper{
    min-height:112px !important;
  }

  .stack-timeline .timeline-wrapper:last-child{
    min-height:56px !important;
  }

  .stack-timeline .timeline-wrapper:last-child::after{
    height:56px !important;
  }

  .stack-timeline .timeline-yr{
    width:56px !important;
    height:56px !important;
    line-height:56px !important;
  }

  .stack-timeline .timeline-yr span{
    font-size:16px !important;
    font-weight:900 !important;
  }

  .stack-timeline .timeline-info{
    margin-left:84px !important;
    padding-top:2px !important;
  }

  .stack-timeline .timeline-info h3{
    margin-bottom:6px !important;
    gap:7px 10px !important;
  }

  .stack-timeline .timeline-info h3 span{
    font-size:clamp(22px, 1.9vw, 30px) !important;
    line-height:1.05 !important;
  }

  .stack-timeline .timeline-info h3 small{
    font-size:12px !important;
    line-height:1.05 !important;
  }

  .stack-timeline .timeline-info p{
    max-width:500px !important;
    font-size:14.6px !important;
    line-height:1.34 !important;
    margin-bottom:0 !important;
  }

  .stack-pills{
    margin-top:16px !important;
    gap:7px !important;
  }

  .stack-pills span{
    padding:7px 10px !important;
    font-size:11.5px !important;
    line-height:1 !important;
  }
}


@media (min-width: 992px) and (max-height: 820px){
  .fullscreen-sections-experiment .pinned-timeline-section{
    padding-top:calc(var(--pl-navbar-height, 68px) + 14px) !important;
    padding-bottom:22px !important;
  }

  .pinned-timeline-section h2{
    margin-bottom:10px !important;
    font-size:clamp(28px, 2.35vw, 38px) !important;
  }

  .timeline-scroll-note{
    margin-bottom:10px !important;
    font-size:12px !important;
    line-height:1.28 !important;
  }

  .process-timeline{
    --circle-size:52px !important;
    --circle-x:26px !important;
    --text-x:78px !important;
    margin-top:8px !important;
  }

  .process-timeline .timeline-wrapper{
    min-height:96px !important;
  }

  .process-timeline .timeline-wrapper:last-child{
    min-height:52px !important;
  }

  .process-timeline .timeline-wrapper:last-child .timeline-segment{
    height:52px !important;
  }

  .process-timeline .timeline-yr{
    width:52px !important;
    height:52px !important;
    line-height:52px !important;
  }

  .process-timeline .timeline-yr span{
    font-size:15.5px !important;
  }

  .process-timeline .timeline-info{
    margin-left:78px !important;
    padding-top:0 !important;
  }

  .process-timeline .timeline-info h3{
    margin-bottom:4px !important;
  }

  .process-timeline .timeline-info h3 span{
    font-size:clamp(22px, 1.8vw, 28px) !important;
  }

  .process-timeline .timeline-info h3 small{
    font-size:11px !important;
  }

  .process-timeline .timeline-info p{
    font-size:13.8px !important;
    line-height:1.27 !important;
  }

  .stack-timeline{
    --stack-circle-size:52px !important;
    --stack-circle-x:26px !important;
    --stack-text-x:78px !important;
    margin-top:8px !important;
  }

  .stack-timeline .timeline-wrapper{
    min-height:96px !important;
  }

  .stack-timeline .timeline-wrapper:last-child{
    min-height:52px !important;
  }

  .stack-timeline .timeline-wrapper:last-child::after{
    height:52px !important;
  }

  .stack-timeline .timeline-yr{
    width:52px !important;
    height:52px !important;
    line-height:52px !important;
  }

  .stack-timeline .timeline-yr span{
    font-size:15px !important;
  }

  .stack-timeline .timeline-info{
    margin-left:78px !important;
    padding-top:0 !important;
  }

  .stack-timeline .timeline-info h3{
    margin-bottom:4px !important;
  }

  .stack-timeline .timeline-info h3 span{
    font-size:clamp(20px, 1.7vw, 26px) !important;
  }

  .stack-timeline .timeline-info h3 small{
    font-size:11px !important;
  }

  .stack-timeline .timeline-info p{
    font-size:13.4px !important;
    line-height:1.27 !important;
  }

  .stack-pills{
    margin-top:12px !important;
    gap:6px !important;
  }

  .stack-pills span{
    padding:6px 9px !important;
    font-size:10.8px !important;
  }
}


@media (min-width: 992px) and (max-height: 700px){
  .fullscreen-sections-experiment .pinned-timeline-section{
    min-height:auto !important;
    display:block !important;
    padding-top:calc(var(--pl-navbar-height, 68px) + 16px) !important;
    padding-bottom:26px !important;
  }

  .process-timeline .timeline-wrapper{
    min-height:88px !important;
  }

  .stack-timeline .timeline-wrapper{
    min-height:88px !important;
  }

  .process-timeline .timeline-info p,
  .stack-timeline .timeline-info p{
    font-size:13px !important;
    line-height:1.22 !important;
  }
}

@media (min-width: 992px){
  .fullscreen-sections-experiment .pinned-timeline-section{
    padding-top:calc(var(--pl-navbar-height, 68px) + 18px) !important;
    padding-bottom:26px !important;
  }

  .pinned-timeline-section h2{
    margin-bottom:9px !important;
    font-size:clamp(32px, 2.85vw, 44px) !important;
    line-height:1.02 !important;
  }

  .timeline-scroll-note{
    margin-bottom:10px !important;
    font-size:13.4px !important;
    line-height:1.28 !important;
  }

  
  .process-timeline{
    --circle-size:60px !important;
    --circle-x:30px !important;
    --text-x:84px !important;
    margin-top:8px !important;
  }

  .process-timeline .timeline-wrapper{
    min-height:104px !important;
  }

  .process-timeline .timeline-wrapper:last-child{
    min-height:60px !important;
  }

  .process-timeline .timeline-wrapper:last-child .timeline-segment{
    height:60px !important;
  }

  .process-timeline .timeline-yr{
    width:60px !important;
    height:60px !important;
    line-height:normal !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    padding:0 !important;
  }

  .process-timeline .timeline-yr span{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important;
    text-align:center !important;
    font-size:18px !important;
    font-weight:900 !important;
  }

  .process-timeline .timeline-info{
    margin-left:84px !important;
    padding-top:0 !important;
  }

  .process-timeline .timeline-info h3{
    margin-bottom:3px !important;
    gap:5px 10px !important;
  }

  .process-timeline .timeline-info h3 span{
    font-size:clamp(26px, 2.22vw, 34px) !important;
    line-height:1 !important;
  }

  .process-timeline .timeline-info h3 small{
    font-size:12.6px !important;
    line-height:1 !important;
  }

  .process-timeline .timeline-info p{
    max-width:560px !important;
    font-size:16.2px !important;
    line-height:1.22 !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  
  .stack-timeline{
    --stack-circle-size:58px !important;
    --stack-circle-x:29px !important;
    --stack-text-x:82px !important;
    margin-top:8px !important;
  }

  .stack-timeline .timeline-wrapper{
    min-height:104px !important;
  }

  .stack-timeline .timeline-wrapper:last-child{
    min-height:58px !important;
  }

  .stack-timeline .timeline-wrapper:last-child::after{
    height:58px !important;
  }

  .stack-timeline .timeline-yr{
    width:58px !important;
    height:58px !important;
    line-height:normal !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    padding:0 !important;
  }

  .stack-timeline .timeline-yr span{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important;
    text-align:center !important;
    font-size:17px !important;
    font-weight:900 !important;
  }

  .stack-timeline .timeline-info{
    margin-left:82px !important;
    padding-top:0 !important;
  }

  .stack-timeline .timeline-info h3{
    margin-bottom:3px !important;
    gap:5px 10px !important;
  }

  .stack-timeline .timeline-info h3 span{
    font-size:clamp(23px, 2.02vw, 31px) !important;
    line-height:1.02 !important;
  }

  .stack-timeline .timeline-info h3 small{
    font-size:12.3px !important;
    line-height:1 !important;
  }

  .stack-timeline .timeline-info p{
    max-width:520px !important;
    font-size:15.4px !important;
    line-height:1.22 !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  .stack-pills{
    margin-top:10px !important;
    gap:6px !important;
  }

  .stack-pills span{
    padding:6px 9px !important;
    font-size:11.4px !important;
    line-height:1 !important;
  }
}


@media (min-width: 992px) and (max-height: 820px){
  .fullscreen-sections-experiment .pinned-timeline-section{
    padding-top:calc(var(--pl-navbar-height, 68px) + 10px) !important;
    padding-bottom:18px !important;
  }

  .pinned-timeline-section h2{
    margin-bottom:7px !important;
    font-size:clamp(30px, 2.55vw, 40px) !important;
  }

  .timeline-scroll-note{
    margin-bottom:7px !important;
    font-size:12.8px !important;
    line-height:1.18 !important;
  }

  .process-timeline{
    --circle-size:56px !important;
    --circle-x:28px !important;
    --text-x:78px !important;
    margin-top:6px !important;
  }

  .process-timeline .timeline-wrapper{
    min-height:90px !important;
  }

  .process-timeline .timeline-wrapper:last-child,
  .process-timeline .timeline-wrapper:last-child .timeline-segment{
    min-height:56px !important;
    height:56px !important;
  }

  .process-timeline .timeline-yr{
    width:56px !important;
    height:56px !important;
  }

  .process-timeline .timeline-yr span{
    font-size:17px !important;
  }

  .process-timeline .timeline-info{
    margin-left:78px !important;
  }

  .process-timeline .timeline-info h3{
    margin-bottom:2px !important;
  }

  .process-timeline .timeline-info h3 span{
    font-size:clamp(24px, 2vw, 31px) !important;
  }

  .process-timeline .timeline-info h3 small{
    font-size:12px !important;
  }

  .process-timeline .timeline-info p{
    font-size:15px !important;
    line-height:1.16 !important;
  }

  .stack-timeline{
    --stack-circle-size:54px !important;
    --stack-circle-x:27px !important;
    --stack-text-x:76px !important;
    margin-top:6px !important;
  }

  .stack-timeline .timeline-wrapper{
    min-height:90px !important;
  }

  .stack-timeline .timeline-wrapper:last-child,
  .stack-timeline .timeline-wrapper:last-child::after{
    min-height:54px !important;
    height:54px !important;
  }

  .stack-timeline .timeline-yr{
    width:54px !important;
    height:54px !important;
  }

  .stack-timeline .timeline-yr span{
    font-size:16px !important;
  }

  .stack-timeline .timeline-info{
    margin-left:76px !important;
  }

  .stack-timeline .timeline-info h3{
    margin-bottom:2px !important;
  }

  .stack-timeline .timeline-info h3 span{
    font-size:clamp(22px, 1.86vw, 28px) !important;
  }

  .stack-timeline .timeline-info h3 small{
    font-size:11.8px !important;
  }

  .stack-timeline .timeline-info p{
    font-size:14.4px !important;
    line-height:1.16 !important;
  }

  .stack-pills{
    margin-top:8px !important;
    gap:5px !important;
  }

  .stack-pills span{
    padding:5px 8px !important;
    font-size:10.8px !important;
  }
}


@media (min-width: 992px) and (max-height: 700px){
  .process-timeline .timeline-wrapper,
  .stack-timeline .timeline-wrapper{
    min-height:84px !important;
  }

  .process-timeline .timeline-info p{
    font-size:14.4px !important;
    line-height:1.12 !important;
  }

  .stack-timeline .timeline-info p{
    font-size:13.8px !important;
    line-height:1.12 !important;
  }
}

.social-section .social-card{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transform:translate3d(0, 0, 0);
  transition:
    transform .32s cubic-bezier(.16,1,.3,1),
    border-color .28s ease,
    box-shadow .32s cubic-bezier(.16,1,.3,1) !important;
}


.social-section .social-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  border-radius:inherit;
  opacity:0;
  background:
    radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255,194,0,.13), transparent 34%),
    linear-gradient(135deg, rgba(255,194,0,.06), transparent 46%);
  transition:opacity .28s ease;
}


.social-section .social-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  border-radius:inherit;
  opacity:0;
  box-shadow:
    inset 0 0 0 1px rgba(255,194,0,.20),
    inset 0 0 34px rgba(255,194,0,.045);
  transition:opacity .28s ease;
}


.social-section .social-card > *{
  position:relative;
  z-index:1;
}

.social-section .social-card:hover,
.social-section .social-card:focus-within{
  transform:translate3d(0, -8px, 0);
  border-color:rgba(255,194,0,.34) !important;
  box-shadow:
    0 28px 72px rgba(0,0,0,.34),
    0 0 42px rgba(255,194,0,.075) !important;
}

.social-section .social-card:hover::before,
.social-section .social-card:hover::after,
.social-section .social-card:focus-within::before,
.social-section .social-card:focus-within::after{
  opacity:1;
}


.social-section .social-card:hover strong,
.social-section .social-card:focus-within strong{
  color:#ffc200 !important;
}


.social-section .social-card:hover .social-icon,
.social-section .social-card:focus-within .social-icon{
  transform:none !important;
}


.social-section .social-card:hover .social-icon svg,
.social-section .social-card:focus-within .social-icon svg,
.social-section .social-card:hover .social-icon img,
.social-section .social-card:focus-within .social-icon img,
.social-section .social-card:hover .social-icon i,
.social-section .social-card:focus-within .social-icon i{
  transform:none !important;
  filter:none !important;
}


body:not(.dark-mode) .social-section .social-card:hover,
body:not(.dark-mode) .social-section .social-card:focus-within{
  border-color:rgba(255,194,0,.48) !important;
  box-shadow:
    0 28px 68px rgba(28,28,34,.13),
    0 0 38px rgba(255,194,0,.10) !important;
}

body:not(.dark-mode) .social-section .social-card::before{
  background:
    radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255,194,0,.14), transparent 34%),
    linear-gradient(135deg, rgba(255,194,0,.08), transparent 46%);
}

body:not(.dark-mode) .social-section .social-card::after{
  box-shadow:
    inset 0 0 0 1px rgba(255,194,0,.25),
    inset 0 0 34px rgba(255,194,0,.05);
}

@media (prefers-reduced-motion: reduce){
  .social-section .social-card,
  .social-section .social-card::before,
  .social-section .social-card::after{
    transition:none !important;
    transform:none !important;
  }
}

.project-links-dual{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.project-links-dual .project-link{
  margin-top:0 !important;
}

.project-links-dual .secondary-project-link{
  background:transparent !important;
  color:#ffc200 !important;
  border:1px solid rgba(255,194,0,.42) !important;
}

.project-links-dual .secondary-project-link:hover{
  background:#ffc200 !important;
  color:#111111 !important;
}

@media (max-width:575px){
  .project-links-dual{
    flex-direction:column;
  }

  .project-links-dual .project-link{
    width:100%;
    text-align:center;
    justify-content:center;
  }
}

.github-project-card[data-tags*="fraude"] .project-links-dual{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  gap:8px !important;
  align-items:center !important;
  width:100%;
  margin-top:12px !important;
}

.github-project-card[data-tags*="fraude"] .project-links-dual .project-link{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:10px 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  font-size:12px !important;
  line-height:1 !important;
}


@media (max-width:575px){
  .github-project-card[data-tags*="fraude"] .project-links-dual{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
    gap:8px !important;
  }

  .github-project-card[data-tags*="fraude"] .project-links-dual .project-link{
    width:100% !important;
    padding:10px 8px !important;
    font-size:11.5px !important;
  }
}

.github-projects-section .github-project-card .project-link:hover,
.github-projects-section .github-project-card .project-link:focus,
.github-projects-section .github-project-card .project-link:active,
.github-projects-section .github-project-card .project-link:focus-visible{
  background:#ffc200 !important;
  color:#111111 !important;
  border-color:#ffc200 !important;
  text-decoration:none !important;
}

.github-projects-section .github-project-card .project-link:hover *,
.github-projects-section .github-project-card .project-link:focus *,
.github-projects-section .github-project-card .project-link:active *,
.github-projects-section .github-project-card .project-link:focus-visible *{
  color:#111111 !important;
}


.github-projects-section .github-project-card .secondary-project-link:hover,
.github-projects-section .github-project-card .secondary-project-link:focus,
.github-projects-section .github-project-card .secondary-project-link:active,
.github-projects-section .github-project-card .secondary-project-link:focus-visible{
  background:#ffc200 !important;
  color:#111111 !important;
  border-color:#ffc200 !important;
}


.github-projects-section .github-project-card .project-link:focus-visible{
  outline:2px solid rgba(255,194,0,.55);
  outline-offset:3px;
}

.github-project-card img[src^="https://github.com/user-attachments/assets/fbd23c5f-10ee-4f3a-8291-61e9dc0b75cf"]{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}

.github-project-card img[src^="https://github.com/user-attachments/assets/df046322-8737-48a1-84c9-969724ec0fca"],
.github-project-card img[src^="https://github.com/user-attachments/assets/f9ff0e2c-c8f1-4995-b46d-ac2a93e89acb"]{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}

.github-project-card img[src^="https://github.com/user-attachments/assets/2bdeff45-b7dc-4bbe-9091-f4520707bd71"]{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}

.github-project-card .project-links-editorial{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  gap:8px !important;
  align-items:center !important;
  width:100%;
  margin-top:12px !important;
}

.github-project-card .project-links-editorial .project-link{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:10px 9px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  font-size:11.7px !important;
  line-height:1 !important;
}

.github-project-card .project-links-editorial .secondary-project-link{
  background:transparent !important;
  color:#ffc200 !important;
  border:1px solid rgba(255,194,0,.42) !important;
}

.github-project-card .project-links-editorial .secondary-project-link:hover,
.github-project-card .project-links-editorial .secondary-project-link:focus,
.github-project-card .project-links-editorial .secondary-project-link:active,
.github-project-card .project-links-editorial .secondary-project-link:focus-visible{
  background:#ffc200 !important;
  color:#111111 !important;
  border-color:#ffc200 !important;
}

@media (max-width:575px){
  .github-project-card .project-links-editorial{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
    gap:8px !important;
  }

  .github-project-card .project-links-editorial .project-link{
    width:100% !important;
    padding:10px 7px !important;
    font-size:11px !important;
  }
}

.github-project-card .project-links-editorial{
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  gap:8px !important;
  align-items:stretch !important;
  width:100%;
  margin-top:12px !important;
}

.github-project-card .project-links-editorial .project-link{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:11px 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:normal !important;
  font-size:12px !important;
  line-height:1.05 !important;
}

@media (max-width:575px){
  .github-project-card .project-links-editorial{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    gap:8px !important;
  }

  .github-project-card .project-links-editorial .project-link{
    width:100% !important;
    padding:11px 10px !important;
    font-size:11.8px !important;
  }
}

.github-project-card .project-links-editorial .project-link{
  font-size:13px !important;
  line-height:1.08 !important;
  padding:12px 13px !important;
  font-weight:900 !important;
}

@media (max-width:575px){
  .github-project-card .project-links-editorial .project-link{
    font-size:12.6px !important;
    line-height:1.08 !important;
    padding:12px 11px !important;
  }
}

.github-project-grid{
  align-items:stretch !important;
}

.github-project-card{
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
}

.github-project-card .project-image-link{
  flex:0 0 auto !important;
}

.github-project-card .github-project-body{
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
}


.github-project-card .mini-tags{
  margin-bottom:14px !important;
}

.github-project-card .github-project-body > .project-link,
.github-project-card .project-links-dual,
.github-project-card .project-links-editorial{
  margin-top:auto !important;
}


.github-project-card .project-link,
.github-project-card .project-links-dual .project-link,
.github-project-card .project-links-editorial .project-link{
  font-size:13px !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  letter-spacing:-.01em !important;
  min-height:42px !important;
  padding:12px 13px !important;
}


.github-project-card .project-links-editorial{
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  gap:8px !important;
  align-items:stretch !important;
  width:100%;
}


.github-project-card[data-tags*="fraude"] .project-links-dual{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  gap:8px !important;
  align-items:center !important;
  width:100%;
}

.github-project-card[data-tags*="fraude"] .project-links-dual .project-link{
  white-space:nowrap !important;
  font-size:13px !important;
}


@media (max-width:575px){
  .github-project-card .project-link,
  .github-project-card .project-links-dual .project-link,
  .github-project-card .project-links-editorial .project-link{
    font-size:12.6px !important;
    line-height:1.08 !important;
    min-height:42px !important;
    padding:12px 11px !important;
  }

  .github-project-card[data-tags*="fraude"] .project-links-dual .project-link{
    font-size:12px !important;
    padding:11px 8px !important;
  }
}

.github-project-card[data-tags*="k-means"]{
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
}

.github-project-card[data-tags*="k-means"] .github-project-body{
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
}

.github-project-card[data-tags*="k-means"] .project-links-dual{
  margin-top:auto !important;
  align-self:stretch !important;
  width:100% !important;
}


.github-project-card[data-tags*="k-means"] .mini-tags{
  margin-bottom:14px !important;
}

.github-project-card .project-links-dashboard{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  gap:8px !important;
  align-items:center !important;
  width:100%;
  margin-top:auto !important;
}

.github-project-card .project-links-dashboard .project-link{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:12px 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  font-size:13px !important;
  line-height:1.08 !important;
  font-weight:900 !important;
}

.github-project-card .project-links-dashboard .secondary-project-link{
  background:transparent !important;
  color:#ffc200 !important;
  border:1px solid rgba(255,194,0,.42) !important;
}

.github-project-card .project-links-dashboard .secondary-project-link:hover,
.github-project-card .project-links-dashboard .secondary-project-link:focus,
.github-project-card .project-links-dashboard .secondary-project-link:active,
.github-project-card .project-links-dashboard .secondary-project-link:focus-visible{
  background:#ffc200 !important;
  color:#111111 !important;
  border-color:#ffc200 !important;
}

@media (max-width:575px){
  .github-project-card .project-links-dashboard .project-link{
    font-size:12px !important;
    padding:11px 8px !important;
  }
}

.github-project-card.featured .project-links-dashboard{
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  gap:8px !important;
  align-items:stretch !important;
  width:100% !important;
  margin-top:auto !important;
}

.github-project-card.featured .project-links-dashboard .project-link{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:12px 13px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:normal !important;
  font-size:13px !important;
  line-height:1.08 !important;
  font-weight:900 !important;
}

@media (max-width:575px){
  .github-project-card.featured .project-links-dashboard{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    gap:8px !important;
  }

  .github-project-card.featured .project-links-dashboard .project-link{
    font-size:12.6px !important;
    padding:12px 11px !important;
  }
}

.github-project-card img[src^="https://github.com/user-attachments/assets/e30b2a50-8004-4a99-a5c2-c3046bad889c"],
.github-project-card img[src^="https://github.com/user-attachments/assets/3691c5a8-7897-4edc-ad99-0144d72cec7e"]{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}

.github-project-card .project-link.has-destination-icon{
  gap:7px !important;
}

.github-project-card .project-link .btn-destination-icon{
  flex:0 0 auto;
  width:18px;
  height:18px;
  min-width:18px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:2px;
  font-size:8px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
  border:1px solid currentColor;
  color:currentColor;
  background:rgba(255,255,255,.06);
  opacity:.92;
  transform:translateY(.2px);
  pointer-events:none;
}

.github-project-card .project-link .btn-destination-icon-linkedin{
  font-size:10px;
  font-family:Arial, Helvetica, sans-serif;
  letter-spacing:-.05em;
  text-transform:none;
}

.github-project-card .project-link .btn-destination-icon-docs,
.github-project-card .project-link .btn-destination-icon-dashboard{
  font-size:7px;
  letter-spacing:-.08em;
}

.github-project-card .project-link:hover .btn-destination-icon,
.github-project-card .project-link:focus .btn-destination-icon,
.github-project-card .project-link:active .btn-destination-icon,
.github-project-card .project-link:focus-visible .btn-destination-icon{
  color:#111111;
  border-color:#111111;
  background:rgba(17,17,17,.08);
}

@media (max-width:575px){
  .github-project-card .project-link.has-destination-icon{
    gap:6px !important;
  }

  .github-project-card .project-link .btn-destination-icon{
    width:17px;
    height:17px;
    min-width:17px;
    font-size:7px;
  }

  .github-project-card .project-link .btn-destination-icon-linkedin{
    font-size:9px;
  }
}

.github-project-card .project-link.has-destination-icon{
  position:relative !important;
  gap:0 !important;
  padding-right:40px !important;
  overflow:hidden !important;
}


.github-project-card .project-link .btn-destination-icon{
  position:absolute !important;
  right:5px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  border-radius:999px !important;
  margin:0 !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  border:0 !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.12) inset,
    0 6px 14px rgba(0,0,0,.24) !important;

  color:#ffffff !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.06em !important;
  opacity:1 !important;
  pointer-events:none !important;
}


.github-project-card .project-link .btn-destination-icon-github{
  background:#171b21 !important;
  color:#ffffff !important;
  font-size:9px !important;
}


.github-project-card .project-link .btn-destination-icon-linkedin{
  background:#2f8fca !important;
  color:#ffffff !important;
  font-size:17px !important;
  font-weight:900 !important;
  letter-spacing:-.08em !important;
  text-transform:none !important;
}


.github-project-card .project-link .btn-destination-icon-docs{
  background:#f4f0df !important;
  color:#171b21 !important;
  font-size:8px !important;
  letter-spacing:-.08em !important;
}


.github-project-card .project-link .btn-destination-icon-dashboard{
  background:linear-gradient(135deg, #4285f4 0 45%, #34a853 45% 70%, #fbbc04 70% 100%) !important;
  color:#ffffff !important;
  font-size:8px !important;
  letter-spacing:-.08em !important;
}


.github-project-card .project-link .btn-destination-icon-external{
  background:#ffc200 !important;
  color:#111111 !important;
  font-size:15px !important;
}


.github-project-card .project-link:hover .btn-destination-icon,
.github-project-card .project-link:focus .btn-destination-icon,
.github-project-card .project-link:active .btn-destination-icon,
.github-project-card .project-link:focus-visible .btn-destination-icon{
  border:0 !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.18) inset,
    0 6px 14px rgba(0,0,0,.26) !important;
}


.github-project-card .project-link:not(.has-destination-icon){
  padding-right:13px !important;
}

@media (max-width:575px){
  .github-project-card .project-link.has-destination-icon{
    padding-right:38px !important;
  }

  .github-project-card .project-link .btn-destination-icon{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    right:5px !important;
  }

  .github-project-card .project-link .btn-destination-icon-linkedin{
    font-size:16px !important;
  }
}

.github-project-card .project-link .btn-destination-icon img{
  display:block;
  width:18px;
  height:18px;
  object-fit:contain;
  pointer-events:none;
}


.github-project-card .project-link .btn-destination-icon-github{
  background:#171b21 !important;
}

.github-project-card .project-link .btn-destination-icon-github img{
  filter:invert(1) brightness(1.12);
  width:18px;
  height:18px;
}


.github-project-card .project-link .btn-destination-icon-dashboard{
  background:#ffffff !important;
}

.github-project-card .project-link .btn-destination-icon-dashboard img{
  width:22px;
  height:22px;
  filter:none !important;
}


.github-project-card .project-link .btn-destination-icon-linkedin{
  background:#2f8fca !important;
  color:#ffffff !important;
}


.github-project-card .project-status.development{
  background:rgba(255,194,0,.14);
  color:#ffc200;
  border:1px solid rgba(255,194,0,.26);
}

#about .about-text{
  width:100%;
  max-width:640px !important;
  position:relative;
  z-index:2;
}

#about .hero-entry-copy{
  display:block !important;
  width:100% !important;
  max-width:590px !important;
  position:relative;
  z-index:2;
  margin-bottom:0 !important;
  text-wrap:pretty;
  overflow-wrap:normal;
}


#about .small-text.hero-entry-kicker{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
  color:#ff9f1c !important;
}

#about .small-text.hero-entry-kicker span{
  color:#ff9f1c !important;
}


.hero-tech-marquee{
  width:min(86%, 590px);
  max-width:100%;
  margin-top:28px;
  margin-bottom:0;
  position:relative;
  z-index:2;
}

.hero-tech-marquee-mask{
  position:relative;
  overflow:hidden;
  width:100%;
  padding:0;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.hero-tech-marquee-mask::before,
.hero-tech-marquee-mask::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:64px;
  z-index:3;
  pointer-events:none;
}

.hero-tech-marquee-mask::before{
  left:0;
  background:linear-gradient(90deg, rgba(7,8,7,.98), rgba(7,8,7,0));
}

.hero-tech-marquee-mask::after{
  right:0;
  background:linear-gradient(270deg, rgba(7,8,7,.98), rgba(7,8,7,0));
}

.hero-tech-track{
  display:flex;
  align-items:center;
  gap:14px;
  width:max-content;
  animation:heroTechMarqueeNoBox 48s linear infinite;
  will-change:transform;
}

.hero-tech-marquee:hover .hero-tech-track{
  animation-play-state:paused;
}

.tech-logo-card{
  flex:0 0 auto;
  min-width:184px;
  height:58px;
  display:inline-flex;
  align-items:center;
  gap:11px;
  padding:0 15px 0 10px;
  border-radius:18px;
  color:#f7f3ea;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(245,240,232,.11);
  box-shadow:0 10px 26px rgba(0,0,0,.16);
}

.tech-logo-icon-wrap{
  width:37px;
  height:37px;
  min-width:37px;
  border-radius:13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#ffffff;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.14) inset,
    0 6px 14px rgba(0,0,0,.18);
  overflow:hidden;
}

.tech-logo-icon-wrap img{
  display:block;
  width:24px;
  height:24px;
  object-fit:contain;
}

.tech-logo-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}

.tech-logo-text strong{
  display:block;
  color:#f7f3ea;
  font-size:13.2px;
  line-height:1.05;
  font-weight:1000;
  letter-spacing:-.02em;
  white-space:nowrap;
}

.tech-logo-text small{
  display:block;
  margin-top:4px;
  color:rgba(247,243,234,.62);
  font-size:10.5px;
  line-height:1;
  font-weight:800;
  letter-spacing:.01em;
  white-space:nowrap;
}

@keyframes heroTechMarqueeNoBox{
  from{
    transform:translate3d(0, 0, 0);
  }
  to{
    transform:translate3d(-50%, 0, 0);
  }
}

body:not(.dark-mode) #about .small-text.hero-entry-kicker,
body:not(.dark-mode) #about .small-text.hero-entry-kicker span{
  color:#ff9f1c !important;
}

body:not(.dark-mode) .hero-tech-marquee-mask::before{
  background:linear-gradient(90deg, rgba(250,250,247,.98), rgba(250,250,247,0));
}

body:not(.dark-mode) .hero-tech-marquee-mask::after{
  background:linear-gradient(270deg, rgba(250,250,247,.98), rgba(250,250,247,0));
}

body:not(.dark-mode) .tech-logo-card{
  color:#202126;
  background:rgba(255,255,255,.78);
  border-color:rgba(20,20,24,.09);
  box-shadow:0 10px 24px rgba(20,20,24,.07);
}

body:not(.dark-mode) .tech-logo-text strong{
  color:#202126;
}

body:not(.dark-mode) .tech-logo-text small{
  color:rgba(32,33,38,.58);
}

@media (max-width:991px){
  #about .about-text,
  #about .hero-entry-copy{
    max-width:100% !important;
  }

  .hero-tech-marquee{
    width:min(96%, 640px);
  }
}

@media (max-width:575px){
  .hero-tech-marquee{
    width:100%;
    margin-top:24px;
  }

  .hero-tech-track{
    gap:11px;
    animation-duration:38s;
  }

  .tech-logo-card{
    min-width:164px;
    height:54px;
    gap:9px;
    padding:0 13px 0 9px;
  }

  .tech-logo-icon-wrap{
    width:33px;
    height:33px;
    min-width:33px;
    border-radius:11px;
  }

  .tech-logo-icon-wrap img{
    width:21px;
    height:21px;
  }

  .tech-logo-text strong{
    font-size:12.4px;
  }

  .tech-logo-text small{
    font-size:10px;
  }
}

@media (prefers-reduced-motion: reduce){
  .hero-tech-track{
    animation:none !important;
    transform:none !important;
  }
}

#about .hero-entry-copy{
  max-width:590px !important;
}

.tech-logo-icon-wrap{
  background:#ffffff !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.18) inset,
    0 8px 18px rgba(0,0,0,.24) !important;
}


.tech-logo-icon-wrap img{
  width:25px !important;
  height:25px !important;
  object-fit:contain !important;
  filter:grayscale(1) brightness(0) contrast(1.25) !important;
  opacity:.96 !important;
}


.tech-logo-icon-wrap img[src$="looker-button-icon.png"]{
  filter:grayscale(1) brightness(0) contrast(1.35) !important;
  width:27px !important;
  height:27px !important;
}


.tech-logo-fallback{
  display:none;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  color:#111111;
  font-size:10px;
  font-weight:1000;
  line-height:1;
  letter-spacing:-.07em;
}


.tech-logo-card{
  background:rgba(255,255,255,.070) !important;
  border-color:rgba(245,240,232,.14) !important;
}

body:not(.dark-mode) .tech-logo-card{
  background:rgba(255,255,255,.84) !important;
  border-color:rgba(20,20,24,.11) !important;
}

@media (max-width:575px){
  .tech-logo-icon-wrap img{
    width:23px !important;
    height:23px !important;
  }

  .tech-logo-icon-wrap img[src$="looker-button-icon.png"]{
    width:24px !important;
    height:24px !important;
  }
}

.tech-logo-icon-wrap{
  width:39px !important;
  height:39px !important;
  min-width:39px !important;
  border-radius:13px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  padding:0 !important;
  background:#ffffff !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.20) inset,
    0 8px 18px rgba(0,0,0,.24) !important;
}

.tech-logo-icon-wrap .tech-logo-img{
  display:block !important;
  width:26px !important;
  height:26px !important;
  max-width:26px !important;
  max-height:26px !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 !important;
  transform:none !important;
  filter:grayscale(1) brightness(0) contrast(1.25) !important;
  opacity:1 !important;
}

.tech-logo-img-sql-server,
.tech-logo-img-power-bi,
.tech-logo-img-qlik,
.tech-logo-img-spss,
.tech-logo-img-python,
.tech-logo-img-numpy,
.tech-logo-img-scikit{
  width:28px !important;
  height:28px !important;
  max-width:28px !important;
  max-height:28px !important;
}

.tech-logo-img-snowflake,
.tech-logo-img-databricks,
.tech-logo-img-airflow,
.tech-logo-img-dbt,
.tech-logo-img-looker,
.tech-logo-img-pandas,
.tech-logo-img-plotly{
  width:27px !important;
  height:27px !important;
  max-width:27px !important;
  max-height:27px !important;
}

.tech-logo-card{
  min-width:190px !important;
  height:60px !important;
  padding:0 15px 0 10px !important;
  align-items:center !important;
}

.tech-logo-card-qlik{
  min-width:196px !important;
}

.tech-logo-text strong,
.tech-logo-text small{
  text-align:left !important;
}

@media (max-width:575px){
  .tech-logo-icon-wrap{
    width:35px !important;
    height:35px !important;
    min-width:35px !important;
  }

  .tech-logo-icon-wrap .tech-logo-img{
    width:23px !important;
    height:23px !important;
    max-width:23px !important;
    max-height:23px !important;
  }

  .tech-logo-img-power-bi,
  .tech-logo-img-sql-server,
  .tech-logo-img-qlik,
  .tech-logo-img-spss,
  .tech-logo-img-python,
  .tech-logo-img-numpy,
  .tech-logo-img-scikit{
    width:24px !important;
    height:24px !important;
    max-width:24px !important;
    max-height:24px !important;
  }

  .tech-logo-card{
    min-width:170px !important;
    height:56px !important;
  }

  .tech-logo-card-qlik{
    min-width:176px !important;
  }
}

.tech-logo-img-matplotlib{
  width:27px !important;
  height:27px !important;
  max-width:27px !important;
  max-height:27px !important;
}

.tech-logo-card-matplotlib{
  min-width:190px !important;
}

@media (max-width:575px){
  .tech-logo-img-matplotlib{
    width:23px !important;
    height:23px !important;
    max-width:23px !important;
    max-height:23px !important;
  }

  .tech-logo-card-matplotlib{
    min-width:170px !important;
  }
}

.tech-logo-img-matplotlib{
  filter:none !important;
  width:31px !important;
  height:31px !important;
  max-width:31px !important;
  max-height:31px !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent !important;
}

@media (max-width:575px){
  .tech-logo-img-matplotlib{
    width:27px !important;
    height:27px !important;
    max-width:27px !important;
    max-height:27px !important;
  }
}

.repo-filter-toolbar{
  gap:12px !important;
  row-gap:14px !important;
}

.repo-filter-btn{
  white-space:nowrap !important;
}

@media (max-width:575px){
  .repo-filter-toolbar{
    gap:9px !important;
    row-gap:10px !important;
  }

  .repo-filter-btn{
    font-size:12px !important;
    padding:10px 12px !important;
  }
}

.repo-filter-toolbar-categories{
  gap:12px !important;
  row-gap:14px !important;
}

.repo-filter-category{
  position:relative;
  z-index:20;
}

.repo-filter-category summary{
  list-style:none;
  cursor:pointer;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  color:#f7f3ea;
  border-radius:999px;
  padding:12px 20px;
  font-weight:900;
  user-select:none;
}

.repo-filter-category summary::-webkit-details-marker{
  display:none;
}

.repo-filter-category[open] summary{
  background:#ffc200;
  color:#111111;
}

.repo-filter-category-panel{
  position:absolute;
  top:calc(100% + 10px);
  left:50%;
  transform:translateX(-50%);
  min-width:260px;
  max-width:min(520px, calc(100vw - 32px));
  padding:14px;
  border-radius:22px;
  background:rgba(12,13,12,.96);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 24px 70px rgba(0,0,0,.36);
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}

body:not(.dark-mode) .repo-filter-category-panel{
  background:rgba(255,255,255,.96);
}

@media (max-width:575px){
  .repo-filter-category{
    position:static;
  }

  .repo-filter-category-panel{
    left:12px;
    right:12px;
    width:auto;
    min-width:0;
    transform:none;
  }
}

.repo-filter-toolbar-hover-groups{
  gap:12px !important;
  row-gap:14px !important;
  align-items:center !important;
}

.repo-filter-group{
  position:relative;
  z-index:30;
  display:inline-flex;
  align-items:center;
}

.repo-filter-group-trigger{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  color:#f7f3ea;
  border-radius:999px;
  padding:12px 20px;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  user-select:none;
  transition:
    background-color .18s ease,
    color .18s ease,
    border-color .18s ease,
    transform .18s ease;
}

.repo-filter-group-trigger::after{
  content:"⌄";
  font-size:13px;
  line-height:1;
  opacity:.68;
  transform:translateY(-1px);
}

.repo-filter-group:hover .repo-filter-group-trigger,
.repo-filter-group:focus-within .repo-filter-group-trigger{
  background:#ffc200;
  color:#111111;
  border-color:#ffc200;
  transform:translateY(-1px);
}

.repo-filter-group:hover .repo-filter-group-trigger::after,
.repo-filter-group:focus-within .repo-filter-group-trigger::after{
  opacity:1;
}

.repo-filter-toolbar-hover-groups .repo-filter-category-panel{
  position:absolute;
  top:calc(100% + 10px);
  left:50%;
  transform:translateX(-50%) translateY(4px);
  min-width:280px;
  max-width:min(560px, calc(100vw - 32px));
  padding:14px;
  border-radius:22px;
  background:rgba(12,13,12,.96);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 24px 70px rgba(0,0,0,.36);
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:
    opacity .18s ease,
    visibility .18s ease,
    transform .18s ease;
}

.repo-filter-group:hover .repo-filter-category-panel,
.repo-filter-group:focus-within .repo-filter-category-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

body:not(.dark-mode) .repo-filter-group-trigger{
  background:rgba(255,255,255,.72);
  color:#202126;
  border-color:rgba(20,20,24,.10);
}

body:not(.dark-mode) .repo-filter-toolbar-hover-groups .repo-filter-category-panel{
  background:rgba(255,255,255,.96);
  border-color:rgba(20,20,24,.10);
}

@media (max-width:575px){
  .repo-filter-toolbar-hover-groups{
    gap:9px !important;
    row-gap:10px !important;
  }

  .repo-filter-group{
    position:static;
  }

  .repo-filter-group-trigger{
    font-size:12px;
    padding:10px 14px;
  }

  .repo-filter-toolbar-hover-groups .repo-filter-category-panel{
    left:12px;
    right:12px;
    width:auto;
    min-width:0;
    max-width:none;
    transform:translateY(4px);
  }

  .repo-filter-group:hover .repo-filter-category-panel,
  .repo-filter-group:focus-within .repo-filter-category-panel{
    transform:translateY(0);
  }

  .repo-filter-toolbar-hover-groups .repo-filter-category-panel .repo-filter-btn{
    font-size:12px !important;
    padding:10px 12px !important;
  }
}

.github-project-grid{
  width:min(1320px, 100%) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:18px !important;
}

.github-project-card{
  width:100% !important;
  max-width:none !important;
}

@media (max-width:1199px){
  .github-project-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width:991px){
  .github-project-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width:575px){
  .github-project-grid{
    grid-template-columns:1fr !important;
  }
}


.repo-filter-toolbar-hover-groups{
  gap:12px !important;
  row-gap:14px !important;
  align-items:center !important;
}

.repo-filter-group{
  position:relative;
  z-index:30;
  display:inline-flex;
  align-items:center;
}

.repo-filter-group-trigger{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  color:#f7f3ea;
  border-radius:999px;
  padding:12px 20px;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  user-select:none;
}

.repo-filter-group-trigger::after{
  content:"⌄";
  font-size:13px;
  line-height:1;
  opacity:.68;
  transform:translateY(-1px);
}

.repo-filter-group:hover .repo-filter-group-trigger,
.repo-filter-group:focus-within .repo-filter-group-trigger{
  background:#ffc200;
  color:#111111;
  border-color:#ffc200;
}

.repo-filter-toolbar-hover-groups .repo-filter-category-panel{
  position:absolute;
  top:calc(100% + 10px);
  left:50%;
  transform:translateX(-50%) translateY(4px);
  min-width:280px;
  max-width:min(560px, calc(100vw - 32px));
  padding:14px;
  border-radius:22px;
  background:rgba(12,13,12,.96);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 24px 70px rgba(0,0,0,.36);
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:
    opacity .18s ease,
    visibility .18s ease,
    transform .18s ease;
}

.repo-filter-group:hover .repo-filter-category-panel,
.repo-filter-group:focus-within .repo-filter-category-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

body:not(.dark-mode) .repo-filter-group-trigger{
  background:rgba(255,255,255,.72);
  color:#202126;
  border-color:rgba(20,20,24,.10);
}

body:not(.dark-mode) .repo-filter-toolbar-hover-groups .repo-filter-category-panel{
  background:rgba(255,255,255,.96);
  border-color:rgba(20,20,24,.10);
}

@media (max-width:575px){
  .repo-filter-toolbar-hover-groups{
    gap:9px !important;
    row-gap:10px !important;
  }

  .repo-filter-group{
    position:static;
  }

  .repo-filter-group-trigger{
    font-size:12px;
    padding:10px 14px;
  }

  .repo-filter-toolbar-hover-groups .repo-filter-category-panel{
    left:12px;
    right:12px;
    width:auto;
    min-width:0;
    max-width:none;
    transform:translateY(4px);
  }

  .repo-filter-group:hover .repo-filter-category-panel,
  .repo-filter-group:focus-within .repo-filter-category-panel{
    transform:translateY(0);
  }

  .repo-filter-toolbar-hover-groups .repo-filter-category-panel .repo-filter-btn{
    font-size:12px !important;
    padding:10px 12px !important;
  }
}

.github-projects-section .container{
  max-width:1380px !important;
}

.github-project-grid{
  width:min(1320px, 100%) !important;
  max-width:1320px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:18px !important;
}

.github-project-card{
  width:100% !important;
  max-width:none !important;
}

@media (max-width:1199px){
  .github-projects-section .container{
    max-width:1140px !important;
  }

  .github-project-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    width:min(1120px, 100%) !important;
  }
}

@media (max-width:991px){
  .github-projects-section .container{
    max-width:960px !important;
  }

  .github-project-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width:575px){
  .github-projects-section .container{
    max-width:100% !important;
  }

  .github-project-grid{
    grid-template-columns:1fr !important;
  }
}

.github-project-card.is-filtered-out,
.github-project-card[hidden]{
  display:none !important;
}

.github-project-grid{
  width:min(1320px, 100%) !important;
  max-width:1320px !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
}

.github-projects-section .container{
  max-width:1380px !important;
}

body.preloader-active{
  overflow:hidden !important;
}

.pl-preloader{
  position:fixed;
  inset:0;
  z-index:99999;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:#0a0b0d;
  opacity:1;
  visibility:visible;
  transition:opacity .82s ease, visibility .82s ease;
}

.pl-preloader.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.pl-preloader__bg{
  position:absolute;
  inset:-8%;
  transform-origin:center;
  pointer-events:none;
}

.pl-preloader__noise{
  position:absolute;
  inset:0;
  opacity:.05;
  background-image:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.18) 0 1px, transparent 1px),
    radial-gradient(circle at 80% 35%, rgba(255,255,255,.12) 0 1px, transparent 1px),
    radial-gradient(circle at 56% 74%, rgba(255,255,255,.14) 0 1px, transparent 1px);
  background-size:48px 48px, 62px 62px, 58px 58px;
  mix-blend-mode:screen;
}

.pl-preloader__shell{
  width:min(980px, calc(100vw - 48px));
  position:relative;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.pl-preloader__kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:7px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(247,243,234,.76);
  font-size:11px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-bottom:18px;
  backdrop-filter:blur(10px);
}

.pl-preloader__kicker::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ffc200;
  box-shadow:0 0 18px rgba(255,194,0,.55);
}

.pl-preloader__title{
  margin:0;
  color:#f7f3ea;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  line-height:.95;
}

.pl-preloader__subtitle{
  margin:16px auto 0;
  max-width:620px;
  color:rgba(247,243,234,.64);
  font-size:15px;
  line-height:1.58;
}

.pl-preloader__progress{
  width:min(360px, 74vw);
  height:4px;
  border-radius:999px;
  overflow:hidden;
  margin-top:26px;
  background:rgba(255,255,255,.10);
  position:relative;
}

.pl-preloader__progress span{
  display:block;
  height:100%;
  width:0;
  border-radius:inherit;
  background:linear-gradient(90deg, #ffc200 0%, #ff9900 55%, #ffc200 100%);
  box-shadow:0 0 22px rgba(255,194,0,.35);
  animation:pl-progress var(--pl-duration) linear forwards;
}

.pl-preloader__meta{
  margin-top:12px;
  color:rgba(247,243,234,.44);
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

@keyframes pl-progress{
  from{width:0}
  to{width:100%}
}

@media (max-width: 767px){
  .pl-preloader__title{
    font-size:34px !important;
    letter-spacing:.10em;
  }

  .pl-preloader__subtitle{
    font-size:13px;
    max-width:88vw;
  }
}

.pl-preloader--r .pl-preloader__bg{
  background:
    radial-gradient(circle at 50% 45%, rgba(255,194,0,.16), transparent 24%),
    radial-gradient(circle at 18% 22%, rgba(84,107,255,.16), transparent 30%),
    radial-gradient(circle at 80% 76%, rgba(255,138,0,.12), transparent 26%),
    linear-gradient(135deg, #090a0d 0%, #111217 52%, #0d0f12 100%);
  animation:pl-zoom-r var(--pl-duration) cubic-bezier(.16,1,.3,1) forwards;
}
.pl-preloader--r .pl-preloader__title{
  font-size:76px;
  filter:blur(16px);
  opacity:0;
  transform:scale(1.16) translateY(18px);
  animation:pl-title-r 1.6s cubic-bezier(.16,1,.3,1) .18s forwards;
}
.pl-preloader--r .pl-preloader__subtitle,
.pl-preloader--r .pl-preloader__kicker,
.pl-preloader--r .pl-preloader__progress,
.pl-preloader--r .pl-preloader__meta{
  opacity:0;
  transform:translateY(14px);
  animation:pl-fade-up-r .8s ease forwards;
}
.pl-preloader--r .pl-preloader__subtitle{animation-delay:.72s}
.pl-preloader--r .pl-preloader__progress{animation-delay:.92s}
.pl-preloader--r .pl-preloader__meta{animation-delay:1.08s}
.pl-preloader--r .pl-preloader__kicker{animation-delay:.52s}
@keyframes pl-zoom-r{
  0%{transform:scale(1.22)}
  100%{transform:scale(1)}
}
@keyframes pl-title-r{
  0%{filter:blur(16px); opacity:0; transform:scale(1.16) translateY(18px)}
  100%{filter:blur(0); opacity:1; transform:scale(1) translateY(0)}
}
@keyframes pl-fade-up-r{
  to{opacity:1; transform:translateY(0)}
}

.pl-preloader--r .pl-preloader__progress{
  margin-top:30px;
}

.pl-preloader--r .pl-preloader__meta{
  margin-top:14px;
}

.projects-title-display{
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(2.7rem, 5.2vw, 5.25rem) !important;
  line-height: .92 !important;
  letter-spacing: -0.075em !important;
  font-weight: 900 !important;
  color: #f7f3ea !important;
  margin-bottom: 1.05rem !important;
}

body:not(.dark-mode) .projects-title-display{
  color:#202126 !important;
}

@media (max-width:575px){
  .projects-title-display{
    font-size: clamp(2.35rem, 12vw, 3.6rem) !important;
    letter-spacing: -0.06em !important;
  }
}

.social-section .social-icon img{
  width:42px;
  height:42px;
  display:block;
  object-fit:contain;
}

@media (max-width:767px){
  .social-section .social-icon img{
    width:36px;
    height:36px;
  }
}

.social-section .social-card.mail .social-icon{
  background:#ffffff !important;
}
.social-section .social-card.medium .social-icon{
  background:#111111 !important;
  color:#ffffff !important;
}
.social-section .social-card.medium .social-icon img{
  width:40px;
  height:40px;
}
.social-section .social-card.mail .social-icon img{
  width:52px;
  height:auto;
}
@media (max-width:767px){
  .social-section .social-card.medium .social-icon img{
    width:34px;
    height:34px;
  }
  .social-section .social-card.mail .social-icon img{
    width:44px;
  }
}

.social-section .social-card.medium .social-icon{
  background:#111111 !important;
}
.social-section .social-card.medium .social-icon img{
  width:43px;
  height:auto;
}
.social-section .social-card.mail .social-icon{
  background:#ffffff !important;
}
.social-section .social-card.mail .social-icon img{
  width:46px;
  height:auto;
}
@media (max-width:767px){
  .social-section .social-card.medium .social-icon img{
    width:37px;
  }
  .social-section .social-card.mail .social-icon img{
    width:40px;
  }
}

.brand-image-badge img{
  object-fit:contain !important;
}

html.pl-scroll-loader-lock,
html.pl-scroll-loader-lock body{
  scroll-behavior:auto !important;
}

body.pl-scroll-loader-active{
  scroll-behavior:auto !important;
}

body.pl-scroll-landing-lock{
  overflow:hidden !important;
  height:100vh !important;
}

.pl-scroll-loader{
  position:relative;
  z-index:999999;
  background:#020403;
  color:#f7f1df;
  isolation:isolate;
}

.pl-scroll-loader__first{
  height:100vh;
  min-height:100vh;
  display:flex;
  justify-content:center;
  align-items:center;
  background:
    radial-gradient(circle at 50% 46%, rgba(165,243,161,.065), transparent 34%),
    linear-gradient(180deg, #030604 0%, #010201 100%);
  overflow:hidden;
}

.pl-scroll-loader__copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:0 1rem;
  position:relative;
  z-index:2;
}

.pl-scroll-loader__hero-text{
  margin:0;
  font-size:clamp(3.15rem, 8.8vw, 8.2rem);
  line-height:.94;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:800;
  letter-spacing:-.075em;
  color:#fff8e8;
  text-shadow:0 0 28px rgba(255,194,0,.16), 0 2px 24px rgba(0,0,0,.9);
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  justify-content:center;
  text-align:center;
}

.pl-scroll-loader__subtitle{
  margin:1.05rem 0 0;
  font-size:clamp(.82rem, 1.4vw, 1.15rem);
  line-height:1.2;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:700;
  letter-spacing:.23em;
  text-transform:uppercase;
  color:rgba(255,248,232,.74);
  text-shadow:0 2px 18px rgba(0,0,0,.85);
}

.pl-scroll-loader .dot{
  display:inline-block;
  width:14px;
  height:14px;
  background-color:#ffc200;
  border-radius:50%;
  margin-left:.12em;
  transform-origin:center center;
  flex:0 0 auto;
  box-shadow:0 0 22px rgba(255,194,0,.50);
}

.pl-scroll-loader__arrow{
  width:18px;
  height:18px;
  margin-top:2.05rem;
  border-right:2px solid rgba(255,248,232,.68);
  border-bottom:2px solid rgba(255,248,232,.68);
  transform:rotate(45deg);
  filter:drop-shadow(0 0 10px rgba(255,194,0,.18));
  animation:plScrollLoaderArrow 1.35s ease-in-out infinite;
}

.pl-scroll-loader__next{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100vh;
  background-color:#0d0f0d;
  z-index:1000000;
  visibility:hidden;
  opacity:0;
  display:flex;
  justify-content:center;
  align-items:center;
  color:#fff;
  pointer-events:none;
}

.pl-scroll-loader__next-content{
  width:1px;
  height:1px;
}

.pl-scroll-loader__spacer{
  height:115vh;
}

body.pl-scroll-loader-finishing .pl-scroll-loader{
  pointer-events:none;
}
body.pl-scroll-loader-finishing .pl-scroll-loader__next{
  visibility:visible;
  opacity:1;
}

@keyframes plScrollLoaderArrow{
  0%, 100%{
    opacity:.42;
    translate:0 0;
  }
  50%{
    opacity:.95;
    translate:0 9px;
  }
}

@media (max-width:767px){
  .pl-scroll-loader__hero-text{
    font-size:clamp(3rem, 15vw, 5.4rem);
    letter-spacing:-.07em;
  }
  .pl-scroll-loader .dot{
    width:11px;
    height:11px;
  }
  .pl-scroll-loader__subtitle{
    margin-top:.9rem;
    letter-spacing:.18em;
  }
}

@media (prefers-reduced-motion:reduce){
  .pl-scroll-loader__arrow{
    animation:none;
  }
}

.process-horizontal-edge-section{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  background:#0d0f0d;
}

.process-horizontal-track{
  position:relative;
  width:100%;
  min-height:100vh;
  overflow:hidden;
}

.process-horizontal-panel{
  position:absolute;
  inset:0;
  width:100%;
  min-height:100vh;
  background:var(--panel-color);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  will-change:transform;
}

.process-horizontal-panel__inner{
  width:min(1320px, 100%);
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0, .88fr) minmax(360px, .82fr);
  align-items:center;
  gap:clamp(32px, 6vw, 96px);
  padding:clamp(88px, 11vh, 128px) clamp(26px, 7vw, 96px);
}

.process-horizontal-panel__copy{
  position:relative;
  z-index:2;
}

.process-horizontal-panel__number{
  display:block;
  font-size:clamp(5.8rem, 16vw, 15rem);
  line-height:.78;
  font-weight:900;
  letter-spacing:-.10em;
  margin-bottom:clamp(18px, 3vw, 38px);
  opacity:.18;
}

.process-horizontal-panel h3{
  margin:0;
  font-size:clamp(4rem, 10vw, 11rem);
  line-height:.78;
  font-weight:900;
  letter-spacing:-.09em;
}

.process-horizontal-panel small{
  display:block;
  margin-top:clamp(18px, 2vw, 28px);
  font-size:clamp(.95rem, 1.35vw, 1.25rem);
  line-height:1.1;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.process-horizontal-panel p{
  max-width:620px;
  margin:clamp(24px, 3vw, 36px) 0 0;
  font-size:clamp(1.05rem, 1.45vw, 1.35rem);
  line-height:1.52;
  font-weight:600;
}

.process-horizontal-panel__media{
  margin:0;
  width:min(520px, 100%);
  aspect-ratio:1 / 1;
  justify-self:end;
  border-radius:36px;
  overflow:hidden;
  box-shadow:0 40px 110px rgba(0,0,0,.28);
}

.process-horizontal-panel__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.process-horizontal-panel.is-dark-text{
  color:#111111;
}

.process-horizontal-panel.is-dark-text p{
  color:rgba(17,17,17,.72);
}

.process-horizontal-panel.is-dark-text small{
  color:rgba(17,17,17,.78);
}

.process-horizontal-panel.is-light-text{
  color:#f5f0e8;
}

.process-horizontal-panel.is-light-text p{
  color:rgba(245,240,232,.72);
}

.process-horizontal-panel.is-light-text small{
  color:#ffc200;
}

@media (max-width:991px){
  .process-horizontal-edge-section{
    min-height:auto;
    overflow:visible;
  }

  .process-horizontal-track{
    min-height:auto;
    display:grid;
  }

  .process-horizontal-panel{
    position:relative;
    inset:auto;
    min-height:auto;
  }

  .process-horizontal-panel__inner{
    min-height:auto;
    grid-template-columns:1fr;
    padding:72px 22px;
    gap:30px;
  }

  .process-horizontal-panel h3{
    font-size:clamp(3.2rem, 16vw, 5.6rem);
  }

  .process-horizontal-panel__number{
    font-size:clamp(5rem, 24vw, 8rem);
  }

  .process-horizontal-panel__media{
    justify-self:start;
    width:min(420px, 100%);
    border-radius:28px;
    order:-1;
  }
}

.process-horizontal-edge-section{background:#0d0f0d !important;}
.process-horizontal-panel__inner{width:min(1440px,100%) !important;grid-template-columns:minmax(0,.72fr) minmax(430px,.78fr) !important;gap:clamp(36px,7vw,132px) !important;padding-left:clamp(32px,7vw,104px) !important;padding-right:clamp(14px,3.2vw,42px) !important;}
.process-horizontal-panel__number{font-size:clamp(3.4rem,8.5vw,8rem) !important;line-height:.80 !important;margin-bottom:clamp(14px,2vw,26px) !important;letter-spacing:-.08em !important;opacity:.16 !important;}
.process-horizontal-panel h3{font-size:clamp(3rem,7.4vw,8.4rem) !important;line-height:.82 !important;letter-spacing:-.085em !important;}
.process-horizontal-panel p{max-width:600px !important;font-size:clamp(1rem,1.32vw,1.22rem) !important;}
.process-horizontal-panel__media{justify-self:end !important;width:min(570px,100%) !important;transform:translateX(clamp(10px,2.4vw,36px));}
.process-horizontal-tech{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(22px,2.2vw,30px);}
.process-horizontal-tech-chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(17,17,17,.14);color:inherit;font-size:.78rem;font-weight:800;line-height:1;backdrop-filter:blur(10px);}
.process-horizontal-tech-chip img{width:18px;height:18px;object-fit:contain;display:block;}
.process-horizontal-panel.is-light-text .process-horizontal-tech-chip{background:rgba(255,255,255,.08);border-color:rgba(245,240,232,.16);}
.process-horizontal-guide{position:absolute;left:50%;bottom:clamp(24px,4vh,44px);transform:translateX(-50%);z-index:40;display:flex;align-items:center;justify-content:space-between;width:min(560px,calc(100% - 44px));height:34px;cursor:grab;touch-action:none;}
.process-horizontal-guide.is-dragging{cursor:grabbing;}
.process-horizontal-guide__line{position:absolute;left:16px;right:16px;top:50%;height:2px;transform:translateY(-50%);background:rgba(17,17,17,.28);pointer-events:none;}
.process-horizontal-guide__bullet{position:relative;z-index:2;width:14px;height:14px;border-radius:50%;border:0;background:rgba(17,17,17,.42);box-shadow:0 0 0 7px rgba(255,255,255,.18);cursor:pointer;transition:transform .22s ease,background .22s ease,box-shadow .22s ease;}
.process-horizontal-guide__bullet.is-active{background:#111111;transform:scale(1.28);box-shadow:0 0 0 8px rgba(255,194,0,.34);}
.process-horizontal-edge-section.is-light-stage .process-horizontal-guide__line{background:rgba(245,240,232,.28);}
.process-horizontal-edge-section.is-light-stage .process-horizontal-guide__bullet{background:rgba(245,240,232,.52);box-shadow:0 0 0 7px rgba(255,255,255,.08);}
.process-horizontal-edge-section.is-light-stage .process-horizontal-guide__bullet.is-active{background:#ffc200;box-shadow:0 0 0 8px rgba(255,194,0,.24);}
@media (max-width:991px){.process-horizontal-panel__inner{grid-template-columns:1fr !important;padding:72px 22px !important;}.process-horizontal-panel__media{transform:none !important;justify-self:start !important;}.process-horizontal-guide{display:none !important;}}

.process-horizontal-edge-section{
  cursor:grab;
}
.process-horizontal-edge-section.is-dragging{
  cursor:grabbing;
}
.process-horizontal-static-head{
  position:absolute;
  top:clamp(28px,4.6vh,56px);
  left:clamp(28px,4.8vw,76px);
  z-index:50;
  max-width:420px;
  pointer-events:none;
}
.process-horizontal-static-head__kicker{
  display:inline-flex;
  align-items:center;
  height:30px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,194,0,.12);
  color:#ffc200;
  border:1px solid rgba(255,194,0,.2);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.process-horizontal-static-head h2{
  margin:0;
  color:#fff8de;
  font-size:clamp(1.8rem,2.9vw,3.15rem);
  line-height:.96;
  letter-spacing:-.06em;
  font-weight:900;
}
.process-horizontal-panel__inner{
  width:min(1460px,100%) !important;
  grid-template-columns:minmax(0,.68fr) minmax(520px,.9fr) !important;
  gap:clamp(34px,5.6vw,116px) !important;
  padding-top:clamp(120px,15vh,166px) !important;
  padding-left:clamp(34px,5.6vw,78px) !important;
  padding-right:clamp(6px,1.4vw,20px) !important;
}
.process-horizontal-panel__number{
  font-size:clamp(2.65rem,6.4vw,6.15rem) !important;
  margin-bottom:clamp(10px,1.6vw,18px) !important;
  opacity:.15 !important;
}
.process-horizontal-panel h3{
  font-size:clamp(2.6rem,5.9vw,6.5rem) !important;
  line-height:.84 !important;
  max-width:520px;
}
.process-horizontal-panel small{
  margin-top:clamp(18px,2.1vw,28px) !important;
  font-size:clamp(1.18rem,1.9vw,1.75rem) !important;
  line-height:1.05 !important;
  letter-spacing:.06em !important;
}
.process-horizontal-panel p{
  max-width:580px !important;
  margin-top:clamp(22px,2.4vw,32px) !important;
}
.process-horizontal-panel__media{
  width:min(760px,100%) !important;
  aspect-ratio:16 / 10 !important;
  justify-self:end !important;
  transform:translateX(clamp(28px,5vw,84px)) !important;
  border-radius:28px !important;
  box-shadow:0 36px 100px rgba(0,0,0,.26) !important;
}
.process-horizontal-tech{
  gap:18px !important;
  margin-top:clamp(26px,3vw,36px) !important;
}
.process-horizontal-tech-chip{
  background:none !important;
  border:0 !important;
  padding:0 !important;
  height:auto !important;
  backdrop-filter:none !important;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-width:72px;
  gap:8px !important;
}
.process-horizontal-tech-chip img{
  width:54px !important;
  height:54px !important;
}
.process-horizontal-tech-chip span{
  font-size:.75rem;
  line-height:1.05;
  text-align:center;
  font-weight:800;
}
.process-horizontal-guide{
  bottom:clamp(24px,4vh,40px) !important;
  width:min(650px,calc(100% - 58px)) !important;
  height:54px !important;
  padding:0 14px;
  border-radius:999px;
  background:rgba(12,14,12,.28);
  border:1px solid rgba(255,248,222,.1);
  box-shadow:0 18px 38px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(16px);
}
.process-horizontal-guide__line,
.process-horizontal-guide__progress{
  position:absolute;
  left:28px;
  right:28px;
  top:50%;
  height:4px;
  transform:translateY(-50%);
  border-radius:999px;
  pointer-events:none;
}
.process-horizontal-guide__line{
  background:rgba(255,248,222,.14) !important;
}
.process-horizontal-guide__progress{
  right:auto;
  width:0%;
  background:linear-gradient(90deg,#ffc200 0%, #ffe690 100%);
  box-shadow:0 0 18px rgba(255,194,0,.38);
}
.process-horizontal-guide__bullet{
  width:16px !important;
  height:16px !important;
  background:#fff8de !important;
  box-shadow:0 0 0 8px rgba(255,255,255,.06) !important;
}
.process-horizontal-guide__bullet:hover{
  transform:scale(1.15);
}
.process-horizontal-guide__bullet.is-active{
  background:#ffc200 !important;
  box-shadow:0 0 0 10px rgba(255,194,0,.16), 0 0 18px rgba(255,194,0,.5) !important;
  animation:processGuidePulse 1.8s ease-in-out infinite;
}
@keyframes processGuidePulse{
  0%,100%{ transform:scale(1.22); }
  50%{ transform:scale(1.34); }
}
.process-horizontal-edge-section.is-light-stage .process-horizontal-guide{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.16);
}
.process-horizontal-edge-section.is-light-stage .process-horizontal-guide__line{
  background:rgba(17,17,17,.18) !important;
}
.process-horizontal-edge-section.is-light-stage .process-horizontal-guide__bullet{
  background:#111 !important;
  box-shadow:0 0 0 8px rgba(0,0,0,.06) !important;
}
.process-horizontal-edge-section.is-light-stage .process-horizontal-guide__bullet.is-active{
  background:#ffc200 !important;
  box-shadow:0 0 0 10px rgba(255,194,0,.2), 0 0 18px rgba(255,194,0,.45) !important;
}
@media (max-width:991px){
  .process-horizontal-edge-section{cursor:auto;}
  .process-horizontal-static-head{position:relative;top:auto;left:auto;padding:24px 22px 0;pointer-events:auto;}
  .process-horizontal-panel__inner{grid-template-columns:1fr !important;padding-top:44px !important;padding-right:22px !important;}
  .process-horizontal-panel__media{width:min(640px,100%) !important;transform:none !important;justify-self:start !important;}
  .process-horizontal-tech-chip img{width:42px !important;height:42px !important;}
}

.process-horizontal-static-head{
  max-width:none !important;
  width:auto !important;
  white-space:nowrap;
}
.process-horizontal-static-head h2{
  white-space:nowrap;
  font-size:clamp(1.7rem,2.35vw,2.65rem) !important;
  color:#111111 !important;
  text-shadow:none !important;
  transition:color .25s ease;
}
.process-horizontal-static-head__kicker{
  color:#111111 !important;
  border-color:rgba(17,17,17,.24) !important;
  background:rgba(17,17,17,.08) !important;
  transition:color .25s ease, border-color .25s ease, background .25s ease;
}
.process-horizontal-edge-section.is-light-stage .process-horizontal-static-head h2{
  color:#fff8de !important;
  text-shadow:0 2px 24px rgba(0,0,0,.35) !important;
}
.process-horizontal-edge-section.is-light-stage .process-horizontal-static-head__kicker{
  color:#ffc200 !important;
  border-color:rgba(255,194,0,.32) !important;
  background:rgba(255,194,0,.10) !important;
}
.process-horizontal-panel.is-dark-text,
.process-horizontal-panel.is-dark-text h3,
.process-horizontal-panel.is-dark-text small,
.process-horizontal-panel.is-dark-text .process-horizontal-panel__number,
.process-horizontal-panel.is-dark-text .process-horizontal-tech-chip span{
  color:#111111 !important;
}
.process-horizontal-panel.is-dark-text p{
  color:rgba(17,17,17,.76) !important;
}
.process-horizontal-panel.is-light-text,
.process-horizontal-panel.is-light-text h3,
.process-horizontal-panel.is-light-text .process-horizontal-panel__number,
.process-horizontal-panel.is-light-text .process-horizontal-tech-chip span{
  color:#fff8de !important;
}
.process-horizontal-panel.is-light-text small{
  color:#ffc200 !important;
}
.process-horizontal-panel.is-light-text p{
  color:rgba(255,248,222,.82) !important;
}
.process-horizontal-panel__media{
  aspect-ratio:16 / 10 !important;
  width:min(760px,100%) !important;
  border-radius:28px !important;
}
.process-horizontal-panel__media img{
  -webkit-user-drag:none;
  user-select:none;
  pointer-events:none;
}
.process-horizontal-tech-chip img{
  width:54px !important;
  height:54px !important;
}
.process-horizontal-tech-chip{
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  padding:0 !important;
}
.process-horizontal-guide{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  height:42px !important;
}
.process-horizontal-guide__line,
.process-horizontal-guide__progress{
  left:16px !important;
  right:16px !important;
  top:50%;
  height:4px !important;
  border-radius:999px;
}
.process-horizontal-guide__line{
  background:rgba(17,17,17,.34) !important;
}
.process-horizontal-guide__progress{
  right:auto !important;
  width:calc(100% - 32px) !important;
  transform:translateY(-50%) scaleX(var(--process-guide-progress,0)) !important;
  transform-origin:left center !important;
  background:#111111 !important;
  box-shadow:0 0 16px rgba(17,17,17,.20) !important;
}
.process-horizontal-guide__bullet{
  width:16px !important;
  height:16px !important;
  background:#111111 !important;
  border:2px solid rgba(255,255,255,.52) !important;
  box-shadow:0 0 0 5px rgba(17,17,17,.12) !important;
}
.process-horizontal-guide__bullet.is-active{
  background:#ffc200 !important;
  border-color:#111111 !important;
  box-shadow:0 0 0 8px rgba(255,194,0,.28), 0 0 18px rgba(17,17,17,.28) !important;
}
.process-horizontal-edge-section.is-light-stage .process-horizontal-guide__line{
  background:rgba(255,248,222,.36) !important;
}
.process-horizontal-edge-section.is-light-stage .process-horizontal-guide__progress{
  background:#ffc200 !important;
  box-shadow:0 0 18px rgba(255,194,0,.36) !important;
}
.process-horizontal-edge-section.is-light-stage .process-horizontal-guide__bullet{
  background:#fff8de !important;
  border-color:rgba(17,17,17,.45) !important;
  box-shadow:0 0 0 5px rgba(255,248,222,.14) !important;
}
.process-horizontal-edge-section.is-light-stage .process-horizontal-guide__bullet.is-active{
  background:#ffc200 !important;
  border-color:#fff8de !important;
  box-shadow:0 0 0 8px rgba(255,194,0,.25), 0 0 20px rgba(255,194,0,.42) !important;
}

.process-horizontal-static-head__kicker{
  display:none !important;
}

.process-horizontal-static-head{
  top:clamp(34px,4.8vh,62px) !important;
}

.process-horizontal-panel__copy{
  position:relative !important;
  isolation:isolate;
  padding-left:clamp(72px, 8vw, 136px);
}

.process-horizontal-panel__number{
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  transform:translate(-22%, -50%) !important;
  z-index:-1 !important;
  margin:0 !important;
  pointer-events:none;
  font-size:clamp(8.5rem, 18vw, 17rem) !important;
  line-height:.72 !important;
  letter-spacing:-.12em !important;
  opacity:.15 !important;
}

.process-horizontal-panel h3,
.process-horizontal-panel small,
.process-horizontal-panel p,
.process-horizontal-tech{
  position:relative;
  z-index:2;
}


.process-horizontal-panel__media{
  transition:
    transform .42s cubic-bezier(.22,.61,.36,1),
    box-shadow .42s ease,
    filter .42s ease !important;
  will-change:transform, filter;
}

.process-horizontal-panel__media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(circle at 28% 18%, rgba(255,194,0,.20), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.12), transparent 42%);
  opacity:0;
  transition:opacity .42s ease;
}

.process-horizontal-panel__media img{
  transition:transform .55s cubic-bezier(.22,.61,.36,1), filter .42s ease !important;
}

.process-horizontal-panel__media:hover{
  transform:translateX(clamp(28px,5vw,84px)) translateY(-8px) scale(1.018) !important;
  box-shadow:0 46px 120px rgba(0,0,0,.34), 0 0 0 1px rgba(255,194,0,.16) !important;
  filter:saturate(1.08) contrast(1.04);
}

.process-horizontal-panel__media:hover::before{
  opacity:1;
}

.process-horizontal-panel__media:hover img{
  transform:scale(1.045);
}

@media (max-width:991px){
  .process-horizontal-panel__copy{
    padding-left:0 !important;
  }

  .process-horizontal-panel__number{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    z-index:0 !important;
    font-size:clamp(4.5rem, 18vw, 7rem) !important;
    margin-bottom:12px !important;
  }

  .process-horizontal-panel__media:hover{
    transform:none !important;
  }
}

.process-horizontal-static-head{
  top:clamp(82px, 9.5vh, 118px) !important;
}


.process-horizontal-panel__copy{
  padding-left:0 !important;
  position:relative !important;
  isolation:isolate;
}


.process-horizontal-panel__number{
  position:absolute !important;
  left:calc(-1 * clamp(120px, 13vw, 260px)) !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:-1 !important;
  margin:0 !important;
  pointer-events:none;
  font-size:clamp(8.5rem, 18vw, 17rem) !important;
  line-height:.72 !important;
  letter-spacing:-.12em !important;
  opacity:.15 !important;
}


.process-horizontal-panel__media{
  display:grid !important;
  place-items:center !important;
  overflow:visible !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  transform:translateX(clamp(28px,5vw,84px)) !important;
  transition:none !important;
  filter:none !important;
}

.process-horizontal-panel__media::before{
  display:none !important;
}

.process-horizontal-panel__media:hover{
  transform:translateX(clamp(28px,5vw,84px)) !important;
  box-shadow:none !important;
  filter:none !important;
}

.process-horizontal-panel__media img{
  transform:none !important;
}


.process-card-swiper .card-groups,
.process-card-swiper .card-group,
.process-card-swiper .card{
  aspect-ratio:5 / 7;
}

.process-card-swiper .card-groups,
.process-card-swiper .card-group,
.process-card-swiper .big-card{
  width:min(30vmin, 310px);
}

.process-card-swiper .card-groups{
  position:relative;
  display:grid;
  place-items:center;
  transform:translateX(3%);
}

.process-card-swiper .card-group{
  position:absolute;
  transition:transform 400ms ease;
}

.process-card-swiper .card{
  position:absolute;
  background-color:rgba(255,255,255,.05);
  background-image:var(--card-img);
  background-position:center;
  background-size:cover;
  box-shadow:-1vmin 1vmin 2vmin rgba(0,0,0,.25);
  transition:
    transform 800ms cubic-bezier(.05,.43,.25,.95),
    box-shadow 800ms cubic-bezier(.05,.43,.25,.95);
}

.process-card-swiper .big-card{
  border-radius:1.25vmin;
}

.process-card-swiper .little-card{
  width:min(12vmin, 124px);
  border-radius:1.8vmin;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  pointer-events:none;
}

.process-card-swiper .big-card:nth-child(2){
  transform:translateX(-10%) rotate(-1deg);
}

.process-card-swiper .big-card:nth-child(4){
  transform:rotate(2deg);
}

.process-card-swiper .big-card:nth-child(6){
  transform:translateX(-6%) rotate(-3deg);
}

.process-card-swiper .big-card:nth-child(8){
  transform:translate(10%, 3%) rotate(5deg);
}

.process-card-swiper .card-group:hover > .card,
.process-horizontal-panel__media:hover .card-group > .card{
  box-shadow:-2vmin 2vmin 3vmin rgba(0,0,0,.40);
}

.process-card-swiper .card-group:hover > .big-card:nth-child(2),
.process-horizontal-panel__media:hover .big-card:nth-child(2){
  transform:translate(-75%, 16%) rotate(-24deg);
}

.process-card-swiper .card-group:hover > .big-card:nth-child(4),
.process-horizontal-panel__media:hover .big-card:nth-child(4){
  transform:translate(-25%, 8%) rotate(-8deg);
}

.process-card-swiper .card-group:hover > .big-card:nth-child(6),
.process-horizontal-panel__media:hover .big-card:nth-child(6){
  transform:translate(25%, 8%) rotate(8deg);
}

.process-card-swiper .card-group:hover > .big-card:nth-child(8),
.process-horizontal-panel__media:hover .big-card:nth-child(8){
  transform:translate(75%, 16%) rotate(24deg);
}

.process-card-swiper .card-group:hover > .little-card:nth-child(1),
.process-horizontal-panel__media:hover .little-card:nth-child(1){
  transform:translate(200%, -160%) rotate(-15deg);
}

.process-card-swiper .card-group:hover > .little-card:nth-child(3),
.process-horizontal-panel__media:hover .little-card:nth-child(3){
  transform:translate(160%, 170%) rotate(15deg);
}

.process-card-swiper .card-group:hover > .little-card:nth-child(5),
.process-horizontal-panel__media:hover .little-card:nth-child(5){
  transform:translate(-200%, -170%) rotate(15deg);
}

.process-card-swiper .card-group:hover > .little-card:nth-child(7),
.process-horizontal-panel__media:hover .little-card:nth-child(7){
  transform:translate(-280%, 140%) rotate(-15deg);
}

@media (max-width:991px){
  .process-horizontal-static-head{
    top:auto !important;
  }

  .process-horizontal-panel__number{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    z-index:0 !important;
    font-size:clamp(4.5rem, 18vw, 7rem) !important;
    margin-bottom:12px !important;
  }

  .process-horizontal-panel__media,
  .process-horizontal-panel__media:hover{
    transform:none !important;
  }

  .process-card-swiper .card-groups,
  .process-card-swiper .card-group,
  .process-card-swiper .big-card{
    width:min(58vw, 260px);
  }

  .process-card-swiper .little-card{
    width:min(22vw, 108px);
  }
}

.process-horizontal-static-head{
  top:clamp(108px, 12vh, 148px) !important;
  left:clamp(42px, 5.8vw, 96px) !important;
}
.process-horizontal-static-head h2{
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:clamp(1.78rem, 2.25vw, 2.56rem) !important;
  letter-spacing:-.045em !important;
}


.process-horizontal-panel__copy{
  padding-left:0 !important;
  position:relative !important;
  isolation:isolate;
}
.process-horizontal-panel__number{
  position:absolute !important;
  left:calc(-1 * clamp(62px, 7.2vw, 145px)) !important;
  top:0 !important;
  transform:none !important;
  z-index:-1 !important;
  margin:0 !important;
  pointer-events:none;
  font-size:clamp(7.7rem, 15.6vw, 15rem) !important;
  line-height:.72 !important;
  letter-spacing:-.12em !important;
  opacity:.15 !important;
}


.process-card-swiper .card{
  overflow:hidden;
  background-image:none !important;
  background:#111;
}
.process-card-swiper .card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}


.process-card-swiper .card-groups{
  width:min(30vmin, 310px) !important;
  aspect-ratio:5 / 7;
  position:relative !important;
  display:block !important;
  transform:translateX(3%);
}
.process-card-swiper .card-group{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
}
.process-card-swiper .big-card{
  width:100% !important;
  height:100% !important;
  left:0;
  top:0;
}
.process-card-swiper .little-card{
  width:40% !important;
  height:auto !important;
}


.process-horizontal-tech-chip img[src$="matplotlib.svg"]{
  filter:none !important;
  background:#fff8de;
  border-radius:50%;
  padding:4px;
  box-shadow:0 0 0 1px rgba(17,17,17,.12);
}

@media (max-width:991px){
  .process-horizontal-static-head{
    top:auto !important;
    left:auto !important;
  }
  .process-horizontal-panel__number{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    z-index:0 !important;
    font-size:clamp(4.5rem, 18vw, 7rem) !important;
    margin-bottom:12px !important;
  }
}

.process-horizontal-static-head h2{
  font-family:"Maven Pro", sans-serif !important;
  font-weight:900 !important;
  letter-spacing:-.055em !important;
  left:auto !important;
}


.process-horizontal-panel__copy{
  width:min(540px, 100%) !important;
  padding-left:0 !important;
  position:relative !important;
  isolation:isolate;
}
.process-horizontal-panel h3{
  width:100% !important;
  max-width:540px !important;
  margin:0 !important;
}
.process-horizontal-panel small{
  width:100% !important;
  display:block !important;
  margin-top:clamp(18px,2.1vw,28px) !important;
  color:#ffc200 !important;
}
.process-horizontal-panel p{
  width:100% !important;
  max-width:540px !important;
  margin-top:clamp(22px,2.4vw,32px) !important;
}
.process-horizontal-tech{
  width:100% !important;
  max-width:540px !important;
}


.process-horizontal-panel__number{
  left:calc(-1 * clamp(42px, 5vw, 92px)) !important;
  top:6px !important;
  width:1ch;
  text-align:left;
  font-variant-numeric:tabular-nums lining-nums;
  transform:none !important;
}


.process-horizontal-tech-chip img[src$="matplotlib.svg"]{
  background:transparent !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}


.process-card-swiper .card{
  background:#111 !important;
}
.process-card-swiper .card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}


@media (max-width:991px){
  .process-horizontal-panel__copy,
  .process-horizontal-panel h3,
  .process-horizontal-panel p,
  .process-horizontal-tech{
    max-width:100% !important;
    width:100% !important;
  }
}

.process-horizontal-static-head h2{
  font-family:"Maven Pro", sans-serif !important;
  font-weight:900 !important;
  letter-spacing:-.055em !important;
  white-space:nowrap !important;
}


.process-horizontal-panel__copy{
  width:min(560px, 100%) !important;
  max-width:560px !important;
  padding-left:clamp(34px, 3.4vw, 62px) !important;
  position:relative !important;
  isolation:isolate;
  box-sizing:border-box;
}


.process-horizontal-panel__number{
  left:calc(-1 * clamp(86px, 8.4vw, 166px)) !important;
  top:0 !important;
  transform:none !important;
  width:1ch !important;
  text-align:left !important;
  font-variant-numeric:tabular-nums lining-nums;
}


.process-horizontal-panel h3,
.process-horizontal-panel small,
.process-horizontal-panel p,
.process-horizontal-tech{
  margin-left:0 !important;
  width:100% !important;
  max-width:520px !important;
}


.process-horizontal-panel h3{
  white-space:nowrap !important;
  overflow:visible !important;
  font-size:clamp(2.35rem, 5.25vw, 5.95rem) !important;
  line-height:.86 !important;
}

.process-horizontal-panel small{
  white-space:nowrap !important;
  overflow:visible !important;
  color:#ffc200 !important;
  font-size:clamp(1.05rem, 1.65vw, 1.48rem) !important;
  line-height:1.05 !important;
  letter-spacing:.055em !important;
}


.process-horizontal-tech{
  justify-content:flex-start !important;
}


.process-horizontal-tech-chip img[src$="matplotlib.svg"]{
  background:transparent !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  filter:none !important;
}

@media (max-width:991px){
  .process-horizontal-panel__copy{
    padding-left:0 !important;
    width:100% !important;
    max-width:100% !important;
  }

  .process-horizontal-panel__number{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    z-index:0 !important;
    font-size:clamp(4.5rem, 18vw, 7rem) !important;
    margin-bottom:12px !important;
  }

  .process-horizontal-panel h3{
    white-space:normal !important;
  }

  .process-horizontal-panel small{
    white-space:normal !important;
  }
}

.process-horizontal-panel small{
  white-space:nowrap !important;
}

.process-horizontal-panel:nth-child(6) small{
  font-size:clamp(.86rem, 1.18vw, 1.12rem) !important;
  letter-spacing:.025em !important;
  max-width:720px !important;
}

.process-horizontal-panel:nth-child(6) h3{
  max-width:620px !important;
}

.process-horizontal-tech-chip--matplotlib .process-horizontal-tech-icon--matplotlib{
  width:54px;
  height:54px;
  display:block;
  background-color:#111111;
  -webkit-mask-image:url('../images/patrones/tech-icons/matplotlib-uploaded.png');
  mask-image:url('../images/patrones/tech-icons/matplotlib-uploaded.png');
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
}

.process-horizontal-panel.is-light-text .process-horizontal-tech-chip--matplotlib .process-horizontal-tech-icon--matplotlib{
  background-color:#fff8de;
}

.process-horizontal-panel.is-dark-text .process-horizontal-tech-chip--matplotlib .process-horizontal-tech-icon--matplotlib{
  background-color:#111111;
}

.process-horizontal-tech-chip--matplotlib img{
  display:none !important;
}

.process-card-swiper .card img{
  background:#f5f1ea;
}

.social-section{
  padding-top:3.25rem !important;
}

.social-section .container{
  transform:translateY(-18px);
}

@media (max-width:991px){
  .social-section{
    padding-top:3rem !important;
  }

  .social-section .container{
    transform:translateY(-8px);
  }
}

@media (max-width:575px){
  .social-section .container{
    transform:none;
  }
}

.hero-rotator span{
  animation:plHeroWordsV46D 12s infinite !important;
}

.hero-rotator span:nth-child(1){animation-delay:0s !important}
.hero-rotator span:nth-child(2){animation-delay:2.4s !important}
.hero-rotator span:nth-child(3){animation-delay:4.8s !important}
.hero-rotator span:nth-child(4){animation-delay:7.2s !important}
.hero-rotator span:nth-child(5){animation-delay:9.6s !important}

.hero-rotator .hero-rotator-word-patterns{
  color:#ff9f1c;
}

@keyframes plHeroWordsV46D{
  0%,5%{opacity:0;transform:translateY(34%)}
  9%,17%{opacity:1;transform:translateY(0)}
  23%,100%{opacity:0;transform:translateY(-34%)}
}

.social-section{
  padding-top:3rem !important;
}

.social-section .container{
  transform:none !important;
}

.social-section .row{
  align-items:flex-start !important;
}

.social-section .col-lg-10{
  padding-top:0 !important;
}

@media (max-width:991px){
  .social-section{
    padding-top:3rem !important;
  }

  .social-section .container{
    transform:none !important;
  }
}

#networks.social-section{
  padding-top:0 !important;
  padding-bottom:6.5rem !important;
}

#networks.social-section > .container{
  transform:translateY(-72px) !important;
}

#networks .social-intro{
  margin-bottom:28px !important;
}

@media (max-width:991px){
  #networks.social-section{
    padding-top:1.25rem !important;
    padding-bottom:5.5rem !important;
  }

  #networks.social-section > .container{
    transform:translateY(-44px) !important;
  }
}

@media (max-width:575px){
  #networks.social-section{
    padding-top:2rem !important;
    padding-bottom:4.5rem !important;
  }

  #networks.social-section > .container{
    transform:translateY(-24px) !important;
  }
}

#networks.social-section{
  padding-top:2.25rem !important;
  padding-bottom:5.25rem !important;
}

#networks.social-section > .container{
  transform:translateY(-32px) !important;
}

@media (max-width:991px){
  #networks.social-section{
    padding-top:2.5rem !important;
    padding-bottom:4.75rem !important;
  }

  #networks.social-section > .container{
    transform:translateY(-22px) !important;
  }
}

@media (max-width:575px){
  #networks.social-section{
    padding-top:2.75rem !important;
    padding-bottom:4.25rem !important;
  }

  #networks.social-section > .container{
    transform:translateY(-10px) !important;
  }
}

html.pl-locomotive-style-active{
  scroll-behavior:auto !important;
}

body.pl-locomotive-style-active{
  overscroll-behavior-y:none;
}

@media (prefers-reduced-motion: reduce){
  html.pl-locomotive-style-active,
  body.pl-locomotive-style-active{
    scroll-behavior:auto !important;
    overscroll-behavior:auto;
  }
}

html.pl-locomotive-style-active{
  scroll-behavior:auto !important;
}

body.pl-locomotive-style-active{
  overscroll-behavior-y:none;
}

html.pl-section-snap-enabled{
  scroll-behavior:auto !important;
}

.pl-active-navbar .navbar-collapse,
.navbar.pl-active-navbar .navbar-collapse,
.pl-active-navbar .navbar-collapse.show,
.navbar.pl-active-navbar .navbar-collapse.show,
.pl-active-navbar .navbar-nav,
.navbar.pl-active-navbar .navbar-nav,
.pl-active-navbar .navbar-nav.mx-auto,
.navbar.pl-active-navbar .navbar-nav.mx-auto,
.pl-active-navbar .navbar-nav.ml-lg-auto,
.navbar.pl-active-navbar .navbar-nav.ml-lg-auto{
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  border-radius:0 !important;
}

.pl-active-navbar .navbar-collapse::before,
.pl-active-navbar .navbar-collapse::after,
.pl-active-navbar .navbar-nav::before,
.pl-active-navbar .navbar-nav::after{
  display:none !important;
  content:none !important;
}


@media (max-width:767px){
  .pl-active-navbar .navbar-collapse,
  .navbar.pl-active-navbar .navbar-collapse{
    background:transparent !important;
    background-color:transparent !important;
  }
}

.process-card-swiper .card{
  overflow:hidden !important;
  border-radius:clamp(14px, 1.9vmin, 24px) !important;
  background:#f5f1ea !important;
  border:1px solid rgba(18,20,18,.38) !important;
  outline:1px solid rgba(255,255,255,.52) !important;
  outline-offset:-2px;
  box-shadow:
    -1vmin 1vmin 2.2vmin rgba(0,0,0,.26),
    0 0 0 1px rgba(0,0,0,.10) !important;
  backface-visibility:hidden;
  transform-style:preserve-3d;
}

.process-card-swiper .big-card,
.process-card-swiper .little-card{
  border-radius:clamp(14px, 1.9vmin, 24px) !important;
}

.process-card-swiper .little-card{
  border-radius:clamp(10px, 1.55vmin, 18px) !important;
}

.process-card-swiper .card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:inherit !important;
  overflow:hidden;
  transform:translateZ(0);
  backface-visibility:hidden;
}


.process-card-swiper .card-group:hover > .card,
.process-horizontal-panel__media:hover .card-group > .card{
  box-shadow:
    -1.7vmin 1.9vmin 3.2vmin rgba(0,0,0,.34),
    0 0 0 1px rgba(0,0,0,.14) !important;
  border-color:rgba(18,20,18,.46) !important;
}


.process-horizontal-panel.is-light-text .process-card-swiper .card{
  border-color:rgba(255,248,222,.28) !important;
  outline-color:rgba(255,255,255,.42) !important;
  box-shadow:
    -1vmin 1vmin 2.2vmin rgba(0,0,0,.32),
    0 0 0 1px rgba(255,255,255,.10) !important;
}

@media (max-width:991px){
  .process-card-swiper .card,
  .process-card-swiper .big-card,
  .process-card-swiper .little-card{
    border-radius:16px !important;
  }
}

.pl-codepen-projects-section{background:#212121;color:#fff;overflow:hidden;padding:0}.dark-mode .pl-codepen-projects-section{background:#10120f}.pl-codepen-cards{background:#212121;margin-left:0;margin-right:0}.dark-mode .pl-codepen-cards{background:#10120f}.pl-codepen-cards:hover .pl-codepen-card-single{opacity:.15}.pl-codepen-cards .pl-codepen-card-single{background:#212121;padding:0;opacity:1;transition:opacity .5s ease-in-out}.dark-mode .pl-codepen-cards .pl-codepen-card-single{background:#10120f}.pl-codepen-cards .pl-codepen-card-single:hover{opacity:1}.pl-codepen-card-single>.row{min-height:550px}.pl-codepen-card-img{padding:0;min-height:550px;background:#0f110f}.pl-codepen-img-link{display:block;height:100%;min-height:550px;overflow:hidden}.pl-codepen-card-img .carousel,.pl-codepen-card-img .carousel-inner,.pl-codepen-card-img .carousel-item{height:550px;min-height:550px}.pl-codepen-card-img .carousel-item{background-position:center;background-size:cover;background-repeat:no-repeat;transition:transform .55s ease,filter .55s ease}.pl-codepen-card-single:hover .carousel-item{transform:scale(1.055);filter:saturate(1.08) contrast(1.04)}.pl-codepen-card-content{height:550px;min-height:550px;padding:40px;color:#fff;background:repeating-linear-gradient(-45deg,rgba(255,255,255,.035) 0 1px,transparent 1px 9px),#212121}.dark-mode .pl-codepen-card-content{background:repeating-linear-gradient(-45deg,rgba(255,255,255,.035) 0 1px,transparent 1px 9px),#141814}.pl-codepen-card-height{height:100%}.pl-codepen-card-text{width:100%;max-width:600px;text-align:left}.pl-codepen-card-text h2{color:#ffca28;margin-bottom:20px;font-family:var(--font-heading,inherit);text-transform:none;font-size:clamp(28px,2.7vw,46px);line-height:.98;letter-spacing:-1.4px}.pl-codepen-card-text p{color:rgba(255,255,255,.78);font-size:15px;line-height:1.55}.pl-codepen-card-text .project-status{margin-bottom:14px}.pl-codepen-card-text .mini-tags{margin-top:18px;margin-bottom:20px}.pl-codepen-card-text .mini-tags span{background:rgba(255,255,255,.09);color:#f7f3ea;border:1px solid rgba(255,255,255,.11)}.pl-codepen-card-links,.pl-codepen-card-text .project-links-dual,.pl-codepen-card-text .project-links-editorial{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.pl-codepen-card-text .project-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 14px;border-radius:999px;background:#ffca28;color:#111;font-weight:900;font-size:13px;text-decoration:none;transition:background .35s ease,color .35s ease,transform .25s ease}.pl-codepen-card-text .project-link:hover{background:#fff;color:#212121;transform:translateY(-2px)}.pl-codepen-card-text .secondary-project-link{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.32)}.pl-codepen-card-text .secondary-project-link:hover{background:#fff;color:#212121}.pl-codepen-card-img .carousel-indicators{bottom:18px;margin-bottom:0}.pl-codepen-card-img .carousel-indicators li{height:10px;width:10px;border-radius:50%;background-color:#ffca28;opacity:.45}.pl-codepen-card-img .carousel-indicators .active{opacity:1}@media(max-width:1199px){.pl-codepen-card-single>.row,.pl-codepen-card-img,.pl-codepen-img-link,.pl-codepen-card-img .carousel,.pl-codepen-card-img .carousel-inner,.pl-codepen-card-img .carousel-item,.pl-codepen-card-content{min-height:520px;height:520px}.pl-codepen-card-content{padding:34px}}@media(max-width:991px){.pl-codepen-cards:hover .pl-codepen-card-single{opacity:1}.pl-codepen-card-single{max-width:920px;margin-left:auto;margin-right:auto}}@media(max-width:767px){.pl-codepen-card-single>.row{min-height:auto}.pl-codepen-card-img,.pl-codepen-img-link,.pl-codepen-card-img .carousel,.pl-codepen-card-img .carousel-inner,.pl-codepen-card-img .carousel-item{height:360px;min-height:360px}.pl-codepen-card-content{height:auto;min-height:auto;padding:28px 24px 32px}}

.pl-codepen-projects-section{
  background:#080909 !important;
  padding:64px 0 !important;
}

.pl-codepen-showcase-fluid{
  width:100% !important;
  max-width:none !important;
  padding-left:32px !important;
  padding-right:32px !important;
}

.pl-codepen-cards-interleaved{
  width:100%;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  gap:22px;
  background:#080909 !important;
}

.pl-codepen-project-row{
  width:100%;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 270px));
  justify-content:center;
  align-items:stretch;
  gap:0;
  background:#080909;
}

.pl-codepen-cell{
  width:100%;
  aspect-ratio:4 / 5;
  min-height:0 !important;
  height:auto !important;
  overflow:hidden;
}

.pl-codepen-image-cell{
  padding:0 !important;
  background:#050606 !important;
}

.pl-codepen-text-cell{
  padding:0 !important;
  color:#fff;
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(255,255,255,.035) 0 1px,
      transparent 1px 9px
    ),
    #212121 !important;
}

.dark-mode .pl-codepen-text-cell{
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(255,255,255,.035) 0 1px,
      transparent 1px 9px
    ),
    #141814 !important;
}

.pl-codepen-image-cell .pl-codepen-img-link,
.pl-codepen-image-cell .carousel,
.pl-codepen-image-cell .carousel-inner,
.pl-codepen-image-cell .carousel-item{
  display:block;
  width:100%;
  height:100% !important;
  min-height:0 !important;
}

.pl-codepen-image-cell .carousel-item{
  background-size:contain !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-color:#050606 !important;
  transform:none !important;
  filter:none !important;
}

.pl-codepen-image-cell:hover .carousel-item{
  transform:none !important;
  filter:none !important;
}

.pl-codepen-text-cell .pl-codepen-card-height{
  width:100%;
  height:100% !important;
  min-height:0 !important;
  padding:24px;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.pl-codepen-text-cell .pl-codepen-card-text{
  width:100%;
  max-width:100%;
  text-align:left;
}

.pl-codepen-text-cell h2{
  margin:0 0 13px !important;
  color:#ffca28 !important;
  font-size:clamp(21px, 1.7vw, 31px) !important;
  line-height:1.02 !important;
  letter-spacing:-.7px !important;
}

.pl-codepen-text-cell p{
  margin-bottom:13px !important;
  color:rgba(255,255,255,.76) !important;
  font-size:13px !important;
  line-height:1.42 !important;
}

.pl-codepen-text-cell .project-status{
  margin-bottom:11px !important;
  font-size:11px !important;
  padding:5px 8px !important;
}

.pl-codepen-text-cell .mini-tags{
  margin-top:12px !important;
  margin-bottom:14px !important;
  gap:5px !important;
}

.pl-codepen-text-cell .mini-tags span{
  padding:4px 7px !important;
  font-size:10px !important;
}

.pl-codepen-text-cell .pl-codepen-card-links{
  gap:7px !important;
}

.pl-codepen-text-cell .project-link{
  min-height:32px !important;
  padding:7px 11px !important;
  font-size:11.5px !important;
}

.pl-codepen-cards-interleaved:hover .pl-codepen-cell{
  opacity:.22;
  transition:opacity .45s ease;
}

.pl-codepen-cards-interleaved .pl-codepen-cell:hover{
  opacity:1;
}

@media (min-width:1400px){
  .pl-codepen-project-row{
    grid-template-columns:repeat(4, minmax(0, 300px));
  }

  .pl-codepen-text-cell .pl-codepen-card-height{
    padding:28px;
  }
}

@media (max-width:1199px){
  .pl-codepen-project-row{
    grid-template-columns:repeat(4, minmax(0, 230px));
  }

  .pl-codepen-text-cell .pl-codepen-card-height{
    padding:20px;
  }

  .pl-codepen-text-cell h2{
    font-size:clamp(19px, 1.7vw, 27px) !important;
  }

  .pl-codepen-text-cell p{
    font-size:12.5px !important;
  }
}

@media (max-width:991px){
  .pl-codepen-showcase-fluid{
    padding-left:22px !important;
    padding-right:22px !important;
  }

  .pl-codepen-project-row{
    grid-template-columns:repeat(2, minmax(0, 280px));
  }

  .pl-codepen-project-row-odd,
  .pl-codepen-project-row-even{
    grid-auto-flow:row;
  }

  .pl-codepen-cards-interleaved:hover .pl-codepen-cell{
    opacity:1;
  }
}

@media (max-width:575px){
  .pl-codepen-projects-section{
    padding:44px 0 !important;
  }

  .pl-codepen-showcase-fluid{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .pl-codepen-project-row{
    grid-template-columns:minmax(0, 320px);
    gap:0;
  }

  .pl-codepen-cell{
    aspect-ratio:auto;
    min-height:360px !important;
  }

  .pl-codepen-image-cell{
    aspect-ratio:4 / 5;
    min-height:0 !important;
  }

  .pl-codepen-text-cell{
    min-height:auto !important;
  }

  .pl-codepen-text-cell .pl-codepen-card-height{
    padding:24px;
  }
}

#projects-showcase .pl-codepen-text-cell{
  position:relative;
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(255,255,255,.040) 0 1px,
      transparent 1px 10px
    ),
    #151716 !important;
  color:#f7f3ea !important;
}

#projects-showcase .pl-codepen-text-cell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 92% 12%, rgba(255,202,40,.09), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.035), transparent 42%);
  opacity:.85;
}

#projects-showcase .pl-codepen-text-cell .pl-codepen-card-height{
  position:relative;
  z-index:1;
  align-items:center !important;
  justify-content:flex-start !important;
  padding:22px 20px !important;
}

#projects-showcase .pl-codepen-text-cell .pl-codepen-card-text{
  max-width:100%;
}

#projects-showcase .pl-codepen-text-cell .project-status{
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  width:max-content;
  margin:0 0 16px !important;
  padding:5px 9px !important;
  border-radius:999px !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:lowercase;
}

#projects-showcase .pl-codepen-text-cell .project-status *,
#projects-showcase .pl-codepen-text-cell .project-link *,
#projects-showcase .pl-codepen-text-cell .secondary-project-link *{
  display:inline-flex !important;
  align-items:center !important;
  flex:0 0 auto;
}

#projects-showcase .pl-codepen-text-cell .project-status svg,
#projects-showcase .pl-codepen-text-cell .project-status img,
#projects-showcase .pl-codepen-text-cell .project-link svg,
#projects-showcase .pl-codepen-text-cell .project-link img{
  width:1em;
  height:1em;
  object-fit:contain;
}

#projects-showcase .pl-codepen-text-cell .project-status.published{
  background:rgba(61,206,113,.20) !important;
  color:#d9f7e4 !important;
}

#projects-showcase .pl-codepen-text-cell .project-status.development{
  background:rgba(255,202,40,.18) !important;
  color:#ffd15a !important;
}

#projects-showcase .pl-codepen-text-cell .project-status.neutral{
  background:rgba(255,255,255,.12) !important;
  color:#ece8df !important;
}

#projects-showcase .pl-codepen-text-cell h2{
  margin:0 0 15px !important;
  color:#ffc200 !important;
  font-family:inherit !important;
  font-size:clamp(26px, 2.2vw, 38px) !important;
  line-height:1.02 !important;
  letter-spacing:-1.15px !important;
  font-weight:950 !important;
  text-transform:none !important;
}

#projects-showcase .pl-codepen-text-cell p{
  margin:0 0 18px !important;
  max-width:96%;
  color:rgba(247,243,234,.84) !important;
  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:600 !important;
}

#projects-showcase .pl-codepen-text-cell .mini-tags{
  display:flex !important;
  flex-wrap:wrap;
  gap:7px !important;
  margin:0 0 22px !important;
}

#projects-showcase .pl-codepen-text-cell .mini-tags span{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:5px 9px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.17) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:#f7f3ea !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  font-size:10.6px !important;
  font-weight:950 !important;
  line-height:1 !important;
  text-transform:capitalize;
}

#projects-showcase .pl-codepen-text-cell .pl-codepen-card-links,
#projects-showcase .pl-codepen-text-cell .project-links-dual,
#projects-showcase .pl-codepen-text-cell .project-links-editorial{
  display:flex !important;
  flex-wrap:wrap;
  gap:9px !important;
  align-items:center !important;
  margin-top:0 !important;
}

#projects-showcase .pl-codepen-text-cell .project-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  min-height:35px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:#ffc200 !important;
  border:1px solid #ffc200 !important;
  color:#111 !important;
  font-size:12px !important;
  font-weight:950 !important;
  line-height:1 !important;
  text-decoration:none !important;
  box-shadow:none !important;
  transition:background .22s ease, color .22s ease, transform .22s ease, border-color .22s ease !important;
}

#projects-showcase .pl-codepen-text-cell .project-link:hover{
  transform:translateY(-2px);
  background:#fff !important;
  border-color:#fff !important;
  color:#111 !important;
}

#projects-showcase .pl-codepen-text-cell .secondary-project-link{
  background:transparent !important;
  border-color:#ffc200 !important;
  color:#ffc200 !important;
}

#projects-showcase .pl-codepen-text-cell .secondary-project-link:hover{
  background:#ffc200 !important;
  border-color:#ffc200 !important;
  color:#111 !important;
}

@media (max-width:1199px){
  #projects-showcase .pl-codepen-text-cell .pl-codepen-card-height{
    padding:20px 18px !important;
  }

  #projects-showcase .pl-codepen-text-cell h2{
    font-size:clamp(23px, 2vw, 32px) !important;
  }

  #projects-showcase .pl-codepen-text-cell p{
    font-size:13px !important;
  }

  #projects-showcase .pl-codepen-text-cell .mini-tags{
    gap:5px !important;
    margin-bottom:18px !important;
  }
}

@media (max-width:575px){
  #projects-showcase .pl-codepen-text-cell .pl-codepen-card-height{
    padding:26px 24px !important;
  }

  #projects-showcase .pl-codepen-text-cell h2{
    font-size:32px !important;
  }

  #projects-showcase .pl-codepen-text-cell p{
    font-size:14px !important;
  }
}

#projects .github-project-card{
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(255,255,255,.040) 0 1px,
      transparent 1px 10px
    ),
    #151716 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  color:#f7f3ea !important;
}

#projects .github-project-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 94% 12%, rgba(255,202,40,.08), transparent 25%),
    linear-gradient(180deg, rgba(255,255,255,.035), transparent 42%);
  opacity:.8;
  z-index:0;
}

#projects .github-project-card > *{
  position:relative;
  z-index:1;
}

#projects .github-project-body{
  padding:22px 22px 24px !important;
}

#projects .github-project-body h3{
  margin:0 0 14px !important;
  color:#ffc200 !important;
  font-family:inherit !important;
  font-size:clamp(22px, 1.55vw, 30px) !important;
  line-height:1.02 !important;
  letter-spacing:-.85px !important;
  font-weight:950 !important;
  text-transform:none !important;
}

#projects .github-project-body .project-status{
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  width:max-content;
  margin:0 0 18px !important;
  padding:5px 9px !important;
  border-radius:999px !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:lowercase;
}

#projects .github-project-body .project-status *,
#projects .github-project-body .project-link *,
#projects .github-project-body .secondary-project-link *{
  display:inline-flex !important;
  align-items:center !important;
  flex:0 0 auto;
}

#projects .github-project-body .project-status svg,
#projects .github-project-body .project-status img,
#projects .github-project-body .project-link svg,
#projects .github-project-body .project-link img,
#projects .github-project-body .secondary-project-link svg,
#projects .github-project-body .secondary-project-link img{
  width:1em;
  height:1em;
  object-fit:contain;
}

#projects .github-project-body .project-status.published{
  background:rgba(61,206,113,.20) !important;
  color:#d9f7e4 !important;
}

#projects .github-project-body .project-status.development{
  background:rgba(255,202,40,.18) !important;
  color:#ffd15a !important;
}

#projects .github-project-body .project-status.neutral{
  background:rgba(255,255,255,.12) !important;
  color:#ece8df !important;
}

#projects .github-project-body p:not(.project-status){
  margin:0 0 18px !important;
  color:rgba(247,243,234,.82) !important;
  font-size:14px !important;
  line-height:1.48 !important;
  font-weight:600 !important;
}

#projects .github-project-card .mini-tags{
  display:flex !important;
  flex-wrap:wrap;
  gap:7px !important;
  margin:0 0 22px !important;
}

#projects .github-project-card .mini-tags span{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:5px 9px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.17) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:#f7f3ea !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  font-size:10.6px !important;
  font-weight:950 !important;
  line-height:1 !important;
  text-transform:capitalize;
}

#projects .github-project-card .project-link-row,
#projects .github-project-card .project-links-dual,
#projects .github-project-card .project-links-editorial{
  display:flex !important;
  flex-wrap:wrap;
  gap:9px !important;
  align-items:center !important;
  margin-top:auto !important;
}

#projects .github-project-card .project-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  min-height:36px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:#ffc200 !important;
  border:1px solid #ffc200 !important;
  color:#111 !important;
  font-size:12px !important;
  font-weight:950 !important;
  line-height:1 !important;
  text-decoration:none !important;
  box-shadow:none !important;
  transition:background .22s ease, color .22s ease, transform .22s ease, border-color .22s ease !important;
}

#projects .github-project-card .project-link:hover{
  transform:translateY(-2px);
  background:#fff !important;
  border-color:#fff !important;
  color:#111 !important;
}

#projects .github-project-card .secondary-project-link{
  background:transparent !important;
  border-color:#ffc200 !important;
  color:#ffc200 !important;
}

#projects .github-project-card .secondary-project-link:hover{
  background:#ffc200 !important;
  border-color:#ffc200 !important;
  color:#111 !important;
}

#projects .github-project-card .project-image-link{
  border-bottom:1px solid rgba(255,255,255,.10);
}

#projects .github-project-card:hover{
  border-color:#ffc200 !important;
  box-shadow:
    0 0 0 1px rgba(255,202,40,.18),
    0 26px 70px rgba(0,0,0,.34) !important;
}

@media (max-width:1199px){
  #projects .github-project-body{
    padding:20px 20px 22px !important;
  }

  #projects .github-project-body h3{
    font-size:clamp(21px, 1.9vw, 27px) !important;
  }

  #projects .github-project-body p:not(.project-status){
    font-size:13.5px !important;
  }
}

@media (max-width:575px){
  #projects .github-project-body h3{
    font-size:30px !important;
  }

  #projects .github-project-body p:not(.project-status){
    font-size:14px !important;
  }
}

#projects .github-project-card .project-link-row,
#projects .github-project-card .project-links-dual,
#projects .github-project-card .project-links-editorial,
#projects-showcase .pl-codepen-text-cell .project-link-row,
#projects-showcase .pl-codepen-text-cell .project-links-dual,
#projects-showcase .pl-codepen-text-cell .project-links-editorial,
#projects-showcase .pl-codepen-text-cell .pl-codepen-card-links{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:9px !important;
  align-items:center !important;
}

#projects .github-project-card .project-link,
#projects-showcase .pl-codepen-text-cell .project-link{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  line-height:1 !important;
  gap:0 !important;
  min-height:36px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
}

#projects .github-project-card .project-link.has-destination-icon,
#projects-showcase .pl-codepen-text-cell .project-link.has-destination-icon{
  padding-left:42px !important;
  padding-right:42px !important;
  overflow:hidden !important;
}

#projects .github-project-card .project-link .btn-destination-icon,
#projects-showcase .pl-codepen-text-cell .project-link .btn-destination-icon{
  position:absolute !important;
  right:5px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  max-width:30px !important;
  min-height:30px !important;
  max-height:30px !important;
  border-radius:999px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  box-shadow:
    0 0 0 1px rgba(255,255,255,.14) inset,
    0 6px 14px rgba(0,0,0,.26) !important;

  font-family:Arial, Helvetica, sans-serif !important;
  font-size:17px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.08em !important;
  text-transform:none !important;
  text-align:center !important;
  pointer-events:none !important;
  opacity:1 !important;
}

#projects .github-project-card .project-link .btn-destination-icon img,
#projects-showcase .pl-codepen-text-cell .project-link .btn-destination-icon img,
#projects .github-project-card .project-link .btn-destination-icon svg,
#projects-showcase .pl-codepen-text-cell .project-link .btn-destination-icon svg{
  position:static !important;
  transform:none !important;
  display:block !important;
  margin:0 auto !important;
  padding:0 !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  min-height:18px !important;
  max-height:18px !important;
  object-fit:contain !important;
}

#projects .github-project-card .project-link .btn-destination-icon-github,
#projects-showcase .pl-codepen-text-cell .project-link .btn-destination-icon-github{
  background:#171b21 !important;
  color:#ffffff !important;
}

#projects .github-project-card .project-link .btn-destination-icon-github img,
#projects-showcase .pl-codepen-text-cell .project-link .btn-destination-icon-github img{
  filter:invert(1) brightness(1.12) !important;
}

#projects .github-project-card .project-link .btn-destination-icon-linkedin,
#projects-showcase .pl-codepen-text-cell .project-link .btn-destination-icon-linkedin{
  background:#2f8fca !important;
  color:#ffffff !important;
}

#projects .github-project-card .project-link .btn-destination-icon-dashboard,
#projects-showcase .pl-codepen-text-cell .project-link .btn-destination-icon-dashboard{
  background:#ffffff !important;
  color:#111111 !important;
  font-size:8px !important;
  letter-spacing:-.08em !important;
}

#projects .github-project-card .project-link .btn-destination-icon-docs,
#projects-showcase .pl-codepen-text-cell .project-link .btn-destination-icon-docs{
  background:#f4f0df !important;
  color:#171b21 !important;
  font-size:8px !important;
  letter-spacing:-.08em !important;
}

#projects .github-project-card .project-link:not(.has-destination-icon),
#projects-showcase .pl-codepen-text-cell .project-link:not(.has-destination-icon){
  padding-left:13px !important;
  padding-right:13px !important;
  min-width:max-content !important;
}

#projects .github-project-card:nth-of-type(8) .project-links-dual,
#projects .github-project-card:nth-of-type(8) .project-links-editorial,
#projects .github-project-card:nth-of-type(8) .project-link-row,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-links-dual,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-links-editorial,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .pl-codepen-card-links{
  flex-wrap:nowrap !important;
  gap:8px !important;
}

#projects .github-project-card:nth-of-type(8) .project-link,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-link{
  white-space:nowrap !important;
  flex:0 0 auto !important;
  font-size:11px !important;
  padding-left:10px !important;
  padding-right:10px !important;
}

#projects .github-project-card:nth-of-type(7) .linkedin-placeholder-link,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .linkedin-placeholder-link{
  width:100% !important;
  max-width:100% !important;
  justify-content:center !important;
  background:transparent !important;
  color:#ffc200 !important;
  border:1px solid #ffc200 !important;
}

#projects .github-project-card:nth-of-type(7) .linkedin-placeholder-link:hover,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .linkedin-placeholder-link:hover{
  background:#ffc200 !important;
  color:#111111 !important;
  border-color:#ffc200 !important;
}

#projects-showcase .pl-codepen-showcase-fluid{
  padding-left:18px !important;
  padding-right:18px !important;
}

#projects-showcase .pl-codepen-project-row{
  grid-template-columns:repeat(4, minmax(0, 286px)) !important;
}

@media (min-width:1400px){
  #projects-showcase .pl-codepen-project-row{
    grid-template-columns:repeat(4, minmax(0, 318px)) !important;
  }
}

@media (max-width:1199px){
  #projects-showcase .pl-codepen-project-row{
    grid-template-columns:repeat(4, minmax(0, 242px)) !important;
  }
}

@media (max-width:991px){
  #projects-showcase .pl-codepen-project-row{
    grid-template-columns:repeat(2, minmax(0, 300px)) !important;
  }

  #projects .github-project-card:nth-of-type(8) .project-links-dual,
  #projects .github-project-card:nth-of-type(8) .project-links-editorial,
  #projects .github-project-card:nth-of-type(8) .project-link-row,
  #projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-links-dual,
  #projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-links-editorial,
  #projects-showcase .pl-codepen-text-cell[data-project-index="8"] .pl-codepen-card-links{
    flex-wrap:wrap !important;
  }
}

@media (max-width:575px){
  #projects .github-project-card .project-link.has-destination-icon,
  #projects-showcase .pl-codepen-text-cell .project-link.has-destination-icon{
    padding-left:40px !important;
    padding-right:40px !important;
  }

  #projects .github-project-card .project-link .btn-destination-icon,
  #projects-showcase .pl-codepen-text-cell .project-link .btn-destination-icon{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    max-width:28px !important;
    min-height:28px !important;
    max-height:28px !important;
  }

  #projects-showcase .pl-codepen-project-row{
    grid-template-columns:minmax(0, 340px) !important;
  }
}

#projects .github-project-card:nth-of-type(7) .project-link-row,
#projects .github-project-card:nth-of-type(7) .project-links-dual,
#projects .github-project-card:nth-of-type(7) .project-links-editorial,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .project-link-row,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .project-links-dual,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .project-links-editorial,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .pl-codepen-card-links{
  gap:9px !important;
  row-gap:9px !important;
  margin-top:auto !important;
  align-content:flex-start !important;
}

#projects .github-project-card:nth-of-type(7) .project-link,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .project-link{
  margin-top:0 !important;
  margin-bottom:0 !important;
}


#projects .github-project-card:nth-of-type(7) .linkedin-placeholder-link,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .linkedin-placeholder-link{
  margin-top:0 !important;
}


#projects .github-project-card:nth-of-type(8) .project-link-row,
#projects .github-project-card:nth-of-type(8) .project-links-dual,
#projects .github-project-card:nth-of-type(8) .project-links-editorial,
#projects .github-project-card:nth-of-type(9) .project-link-row,
#projects .github-project-card:nth-of-type(9) .project-links-dual,
#projects .github-project-card:nth-of-type(9) .project-links-editorial,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-link-row,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-links-dual,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-links-editorial,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .pl-codepen-card-links,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-link-row,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-links-dual,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-links-editorial,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .pl-codepen-card-links{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:8px !important;
  row-gap:8px !important;
  align-items:center !important;
  justify-content:flex-start !important;
  overflow:visible !important;
}

#projects .github-project-card:nth-of-type(8) .project-link,
#projects .github-project-card:nth-of-type(9) .project-link,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-link,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-link{
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  min-width:max-content !important;
  width:auto !important;
  flex:0 0 auto !important;
  font-size:10.4px !important;
  letter-spacing:-.15px !important;
  padding-left:9px !important;
  padding-right:9px !important;
}


#projects .github-project-card:nth-of-type(8) .project-link *,
#projects .github-project-card:nth-of-type(9) .project-link *,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-link *,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-link *{
  white-space:nowrap !important;
}


#projects .github-project-card:nth-of-type(8) .project-link:not(.has-destination-icon),
#projects .github-project-card:nth-of-type(9) .project-link:not(.has-destination-icon),
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-link:not(.has-destination-icon),
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-link:not(.has-destination-icon){
  padding-right:9px !important;
}


@media (max-width:991px){
  #projects .github-project-card:nth-of-type(8) .project-link-row,
  #projects .github-project-card:nth-of-type(8) .project-links-dual,
  #projects .github-project-card:nth-of-type(8) .project-links-editorial,
  #projects .github-project-card:nth-of-type(9) .project-link-row,
  #projects .github-project-card:nth-of-type(9) .project-links-dual,
  #projects .github-project-card:nth-of-type(9) .project-links-editorial,
  #projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-link-row,
  #projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-links-dual,
  #projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-links-editorial,
  #projects-showcase .pl-codepen-text-cell[data-project-index="8"] .pl-codepen-card-links,
  #projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-link-row,
  #projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-links-dual,
  #projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-links-editorial,
  #projects-showcase .pl-codepen-text-cell[data-project-index="9"] .pl-codepen-card-links{
    flex-wrap:wrap !important;
  }
}

#projects.github-projects-section .container,
.github-projects-section#projects .container{
  width:min(1480px, calc(100vw - 40px)) !important;
  max-width:1480px !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

#projects .github-project-grid{
  width:100% !important;
  max-width:1440px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
}


#projects .github-project-card:nth-of-type(7) .project-links-dual,
#projects .github-project-card:nth-of-type(7) .project-links-editorial,
#projects .github-project-card:nth-of-type(7) .project-link-row,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .project-links-dual,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .project-links-editorial,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .pl-codepen-card-links{
  display:flex !important;
  flex-direction:column !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:8px !important;
  row-gap:8px !important;
  margin-top:auto !important;
}

#projects .github-project-card:nth-of-type(7) .project-link,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .project-link{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}


#projects .github-project-card:nth-of-type(8) .project-links-dual,
#projects .github-project-card:nth-of-type(8) .project-links-editorial,
#projects .github-project-card:nth-of-type(8) .project-link-row,
#projects .github-project-card:nth-of-type(9) .project-links-dual,
#projects .github-project-card:nth-of-type(9) .project-links-editorial,
#projects .github-project-card:nth-of-type(9) .project-link-row,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-links-dual,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-links-editorial,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .pl-codepen-card-links,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-links-dual,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-links-editorial,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .pl-codepen-card-links{
  display:flex !important;
  flex-direction:column !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:8px !important;
  row-gap:8px !important;
}

#projects .github-project-card:nth-of-type(8) .project-link,
#projects .github-project-card:nth-of-type(9) .project-link,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-link,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-link{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:flex !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  font-size:12px !important;
  padding-left:14px !important;
  padding-right:14px !important;
}


@media (max-width:1199px){
  #projects.github-projects-section .container,
  .github-projects-section#projects .container{
    width:min(1180px, calc(100vw - 36px)) !important;
    max-width:1180px !important;
  }

  #projects .github-project-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width:991px){
  #projects.github-projects-section .container,
  .github-projects-section#projects .container{
    width:min(820px, calc(100vw - 32px)) !important;
    max-width:820px !important;
  }

  #projects .github-project-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width:575px){
  #projects.github-projects-section .container,
  .github-projects-section#projects .container{
    width:min(100%, calc(100vw - 24px)) !important;
    max-width:100% !important;
  }

  #projects .github-project-grid{
    grid-template-columns:1fr !important;
  }
}

.pl-preloader,
.pl-preloader *{
  --pl-loader-yellow:#ffc200;
}

.pl-preloader [class*="analytics"],
.pl-preloader [class*="tagline"],
.pl-preloader [class*="subtitle"],
.pl-preloader [class*="kicker"],
.pl-preloader__tagline,
.pl-preloader__subtitle,
.pl-preloader__kicker{
  color:#ffc200 !important;
}


.pl-preloader strong + span,
.pl-preloader strong + small,
.pl-preloader .pl-preloader__content span,
.pl-preloader .pl-preloader__content small{
  color:#ffc200 !important;
}


#projects.github-projects-section .container,
.github-projects-section#projects .container{
  width:min(1540px, calc(100vw - 28px)) !important;
  max-width:1540px !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

#projects .github-project-grid{
  width:100% !important;
  max-width:1500px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:18px !important;
}


#projects .github-project-card:nth-of-type(7) .project-links-dual,
#projects .github-project-card:nth-of-type(7) .project-links-editorial,
#projects .github-project-card:nth-of-type(7) .project-link-row,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .project-links-dual,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .project-links-editorial,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .pl-codepen-card-links{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  row-gap:8px !important;
  column-gap:0 !important;
  align-items:stretch !important;
  justify-items:stretch !important;
  align-content:start !important;
  margin-top:auto !important;
}

#projects .github-project-card:nth-of-type(7) .project-link,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .project-link{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}


#projects .github-project-card:nth-of-type(7) .linkedin-placeholder-link,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .linkedin-placeholder-link{
  margin-top:0 !important;
  margin-bottom:0 !important;
}


#projects .github-project-card:nth-of-type(8) .project-links-dual,
#projects .github-project-card:nth-of-type(8) .project-links-editorial,
#projects .github-project-card:nth-of-type(8) .project-link-row,
#projects .github-project-card:nth-of-type(9) .project-links-dual,
#projects .github-project-card:nth-of-type(9) .project-links-editorial,
#projects .github-project-card:nth-of-type(9) .project-link-row,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-links-dual,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-links-editorial,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .pl-codepen-card-links,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-links-dual,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-links-editorial,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .pl-codepen-card-links{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  gap:8px !important;
  row-gap:0 !important;
  align-items:center !important;
  justify-items:stretch !important;
  margin-top:auto !important;
}

#projects .github-project-card:nth-of-type(8) .project-link,
#projects .github-project-card:nth-of-type(9) .project-link,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-link,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-link{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  text-align:center !important;
  justify-content:center !important;
  font-size:11px !important;
  letter-spacing:-.25px !important;
  padding-left:6px !important;
  padding-right:6px !important;
}


#projects .github-project-card:nth-of-type(8) .project-link *,
#projects .github-project-card:nth-of-type(9) .project-link *,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-link *,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-link *{
  white-space:nowrap !important;
  word-break:keep-all !important;
}


@media (max-width:1199px){
  #projects.github-projects-section .container,
  .github-projects-section#projects .container{
    width:min(1220px, calc(100vw - 32px)) !important;
    max-width:1220px !important;
  }

  #projects .github-project-grid{
    max-width:1180px !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width:991px){
  #projects.github-projects-section .container,
  .github-projects-section#projects .container{
    width:min(860px, calc(100vw - 28px)) !important;
    max-width:860px !important;
  }

  #projects .github-project-grid{
    max-width:820px !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width:575px){
  #projects.github-projects-section .container,
  .github-projects-section#projects .container{
    width:min(100%, calc(100vw - 24px)) !important;
    max-width:100% !important;
  }

  #projects .github-project-grid{
    grid-template-columns:1fr !important;
  }

  #projects .github-project-card:nth-of-type(8) .project-links-dual,
  #projects .github-project-card:nth-of-type(8) .project-links-editorial,
  #projects .github-project-card:nth-of-type(8) .project-link-row,
  #projects .github-project-card:nth-of-type(9) .project-links-dual,
  #projects .github-project-card:nth-of-type(9) .project-links-editorial,
  #projects .github-project-card:nth-of-type(9) .project-link-row{
    grid-template-columns:1fr !important;
    row-gap:8px !important;
  }
}

.pl-scroll-loader .pl-scroll-loader__subtitle,
.pl-scroll-loader__subtitle{
  color:#ffc200 !important;
  text-shadow:0 0 18px rgba(255,194,0,.22) !important;
}


#projects .github-project-card:nth-of-type(7) .project-links-dual,
#projects .github-project-card:nth-of-type(7) .project-links-editorial,
#projects .github-project-card:nth-of-type(7) .project-link-row,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .project-links-dual,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .project-links-editorial,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .pl-codepen-card-links{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:5px !important;
  row-gap:5px !important;
  column-gap:0 !important;
  align-items:stretch !important;
  justify-items:stretch !important;
  margin-top:auto !important;
}

#projects .github-project-card:nth-of-type(7) .project-link,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .project-link{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}


#projects .github-project-card:nth-of-type(7) .linkedin-placeholder-link,
#projects-showcase .pl-codepen-text-cell[data-project-index="7"] .linkedin-placeholder-link{
  margin-top:0 !important;
  margin-bottom:0 !important;
}


#projects .github-project-card:nth-of-type(8) .project-links-dual,
#projects .github-project-card:nth-of-type(8) .project-links-editorial,
#projects .github-project-card:nth-of-type(8) .project-link-row,
#projects .github-project-card:nth-of-type(9) .project-links-dual,
#projects .github-project-card:nth-of-type(9) .project-links-editorial,
#projects .github-project-card:nth-of-type(9) .project-link-row,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-links-dual,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-links-editorial,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .pl-codepen-card-links,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-links-dual,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-links-editorial,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .pl-codepen-card-links{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  row-gap:0 !important;
  width:100% !important;
  margin-top:auto !important;
}

#projects .github-project-card:nth-of-type(8) .project-link,
#projects .github-project-card:nth-of-type(9) .project-link,
#projects-showcase .pl-codepen-text-cell[data-project-index="8"] .project-link,
#projects-showcase .pl-codepen-text-cell[data-project-index="9"] .project-link{
  flex:1 1 0 !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  display:inline-flex !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  font-size:10.6px !important;
  letter-spacing:-.35px !important;
  padding-left:5px !important;
  padding-right:5px !important;
}


#projects.github-projects-section .container,
.github-projects-section#projects .container{
  width:min(1580px, calc(100vw - 24px)) !important;
  max-width:1580px !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

#projects .github-project-grid{
  width:100% !important;
  max-width:1540px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width:1199px){
  #projects.github-projects-section .container,
  .github-projects-section#projects .container{
    width:min(1220px, calc(100vw - 32px)) !important;
    max-width:1220px !important;
  }

  #projects .github-project-grid{
    max-width:1180px !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width:991px){
  #projects.github-projects-section .container,
  .github-projects-section#projects .container{
    width:min(860px, calc(100vw - 28px)) !important;
    max-width:860px !important;
  }

  #projects .github-project-grid{
    max-width:820px !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width:575px){
  #projects.github-projects-section .container,
  .github-projects-section#projects .container{
    width:min(100%, calc(100vw - 24px)) !important;
    max-width:100% !important;
  }

  #projects .github-project-grid{
    grid-template-columns:1fr !important;
  }

  #projects .github-project-card:nth-of-type(8) .project-links-dual,
  #projects .github-project-card:nth-of-type(8) .project-links-editorial,
  #projects .github-project-card:nth-of-type(8) .project-link-row,
  #projects .github-project-card:nth-of-type(9) .project-links-dual,
  #projects .github-project-card:nth-of-type(9) .project-links-editorial,
  #projects .github-project-card:nth-of-type(9) .project-link-row{
    flex-direction:column !important;
    row-gap:6px !important;
  }
}

#projects .github-project-body h3,
#projects-showcase .pl-codepen-text-cell h2{
  color:#f5f0e8 !important;
}


#projects .github-project-body .project-status,
#projects-showcase .pl-codepen-text-cell .project-status{
  font-size:12.8px !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  padding:6px 10px !important;
  gap:6px !important;
  letter-spacing:-.05px !important;
}


#projects .github-project-body p:not(.project-status),
#projects-showcase .pl-codepen-text-cell p:not(.project-status){
  color:rgba(245,240,232,.92) !important;
  font-weight:650 !important;
}


#projects .repo-filter-toolbar{
  gap:10px !important;
  row-gap:12px !important;
}

#projects .repo-filter-btn,
#projects .repo-filter-group-trigger{
  border-radius:999px !important;
  padding:8px 15px !important;
  min-height:38px !important;
  border:1px solid rgba(255,194,0,.22) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025)),
    rgba(255,255,255,.045) !important;
  color:#f5f0e8 !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.08) inset,
    0 8px 22px rgba(0,0,0,.16) !important;
  transform:none !important;
}

#projects .repo-filter-btn:hover,
#projects .repo-filter-btn.active,
#projects .repo-filter-group:hover .repo-filter-group-trigger,
#projects .repo-filter-group:focus-within .repo-filter-group-trigger{
  background:#ffc200 !important;
  color:#111111 !important;
  border-color:#ffc200 !important;
  box-shadow:
    0 0 0 1px rgba(255,194,0,.38),
    0 10px 28px rgba(255,194,0,.16) !important;
  transform:translateY(-1px) !important;
}


#projects .repo-filter-group{
  position:relative !important;
}


#projects .repo-filter-group::after{
  content:"";
  position:absolute;
  left:-18px;
  right:-18px;
  top:100%;
  height:22px;
  pointer-events:auto;
  background:transparent;
}

#projects .repo-filter-toolbar-hover-groups .repo-filter-category-panel{
  top:calc(100% + 6px) !important;
  padding:13px !important;
  border-radius:20px !important;
  border:1px solid rgba(255,194,0,.24) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.045) inset,
    0 24px 70px rgba(0,0,0,.40),
    0 0 40px rgba(255,194,0,.08) !important;
}

#projects .repo-filter-toolbar-hover-groups .repo-filter-category-panel .repo-filter-btn{
  padding:8px 12px !important;
  min-height:34px !important;
  font-size:12.2px !important;
  box-shadow:none !important;
  border-color:rgba(255,255,255,.12) !important;
}


#projects .repo-filter-group:has(.repo-filter-group-trigger[aria-expanded="true"]) .repo-filter-category-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}


@media (max-width:575px){
  #projects .repo-filter-btn,
  #projects .repo-filter-group-trigger{
    padding:8px 12px !important;
    min-height:36px !important;
  }

  #projects .repo-filter-group::after{
    display:none;
  }
}

@media (max-width: 767px){
  html,
  body{
    overflow-x:hidden !important;
    overflow-y:auto !important;
    height:auto !important;
    min-height:100% !important;
    touch-action:pan-y !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-y:auto !important;
  }

  body.pl-scroll-loader-complete,
  body:not(.pl-scroll-loader-active){
    overflow-y:auto !important;
  }

  section,
  footer,
  .full-screen,
  .container{
    touch-action:pan-y !important;
  }

  
  [data-horizontal-process-section],
  [data-horizontal-process-section] .wrapper,
  [data-horizontal-process-section] .item,
  .process-horizontal-guide{
    touch-action:pan-y !important;
  }

  
  .navbar.pl-smart-navbar .navbar-toggler,
  .pl-smart-navbar .navbar-toggler{
    width:38px !important;
    height:38px !important;
    display:inline-flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    border:1px solid rgba(245,240,232,.18) !important;
    border-radius:12px !important;
    background:rgba(0,0,0,.22) !important;
  }

  .navbar.pl-smart-navbar .navbar-toggler .navbar-toggler-icon,
  .pl-smart-navbar .navbar-toggler .navbar-toggler-icon{
    width:22px !important;
    height:2px !important;
    margin:0 !important;
    background:#f5f0e8 !important;
    border-radius:999px !important;
    box-shadow:0 0 10px rgba(255,194,0,.18) !important;
    opacity:1 !important;
  }

  body:not(.dark-mode) .navbar.pl-smart-navbar .navbar-toggler .navbar-toggler-icon,
  body:not(.dark-mode) .pl-smart-navbar .navbar-toggler .navbar-toggler-icon{
    background:#111111 !important;
  }

  .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:first-child{
    top:7px !important;
  }

  .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:last-child{
    bottom:7px !important;
  }

  
  .pl-scroll-loader,
  .pl-scroll-loader__hero-text,
  .pl-scroll-loader__subtitle{
    font-family:"Maven Pro", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  }

  .pl-scroll-loader{
    touch-action:manipulation !important;
  }

  .pl-scroll-loader__hero-text{
    font-weight:700 !important;
    font-size:clamp(3.1rem, 16vw, 5.25rem) !important;
    letter-spacing:-.07em !important;
  }

  .pl-scroll-loader__subtitle{
    color:#ffc200 !important;
    font-weight:700 !important;
    letter-spacing:.18em !important;
  }

  .pl-scroll-loader .dot{
    transition:transform .62s cubic-bezier(.7, 0, .2, 1), box-shadow .62s ease !important;
  }

  .pl-scroll-loader.pl-mobile-loader-finishing .dot{
    transform:scale(1200) !important;
    box-shadow:0 0 80px rgba(255,194,0,.72) !important;
  }

  .pl-scroll-loader.pl-mobile-loader-finishing .pl-scroll-loader__next{
    visibility:visible !important;
    opacity:1 !important;
  }

  
  #projects.github-projects-section .container,
  .github-projects-section#projects .container{
    width:min(100%, calc(100vw - 18px)) !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  #projects .github-project-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
    max-width:100% !important;
    width:100% !important;
  }

  #projects .github-project-card{
    border-radius:17px !important;
  }

  #projects .project-image-link img{
    aspect-ratio:4 / 5 !important;
    object-fit:cover !important;
  }

  #projects .github-project-body{
    padding:12px 10px 13px !important;
  }

  #projects .github-project-body h3{
    font-size:13.6px !important;
    line-height:1.08 !important;
    letter-spacing:-.35px !important;
    margin-bottom:8px !important;
  }

  #projects .github-project-body p:not(.project-status){
    font-size:10.8px !important;
    line-height:1.35 !important;
    margin-bottom:10px !important;
  }

  #projects .github-project-body .project-status{
    font-size:9.5px !important;
    padding:4px 7px !important;
    margin-bottom:10px !important;
  }

  #projects .mini-tags{
    gap:4px !important;
    margin-bottom:12px !important;
  }

  #projects .mini-tags span{
    font-size:8.2px !important;
    min-height:18px !important;
    padding:3px 5px !important;
  }

  #projects .github-project-card .project-link{
    min-height:30px !important;
    font-size:9.4px !important;
    padding-top:6px !important;
    padding-bottom:6px !important;
  }

  #projects .github-project-card .project-link.has-destination-icon{
    padding-left:30px !important;
    padding-right:30px !important;
  }

  #projects .github-project-card .project-link .btn-destination-icon{
    width:23px !important;
    height:23px !important;
    min-width:23px !important;
    max-width:23px !important;
    min-height:23px !important;
    max-height:23px !important;
    right:4px !important;
  }

  #projects .github-project-card .project-link .btn-destination-icon img,
  #projects .github-project-card .project-link .btn-destination-icon svg{
    width:14px !important;
    height:14px !important;
    min-width:14px !important;
    max-width:14px !important;
    min-height:14px !important;
    max-height:14px !important;
  }

  #projects .repo-filter-toolbar{
    overflow-x:auto !important;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    padding:0 4px 8px !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none;
  }

  #projects .repo-filter-toolbar::-webkit-scrollbar{
    display:none;
  }

  #projects .repo-filter-btn,
  #projects .repo-filter-group-trigger{
    white-space:nowrap !important;
    min-height:34px !important;
    padding:7px 12px !important;
    font-size:12px !important;
  }
}

@media (max-width: 380px){
  #projects .github-project-body h3{
    font-size:12.6px !important;
  }

  #projects .github-project-body p:not(.project-status){
    font-size:10.2px !important;
  }

  #projects .github-project-card .project-link{
    font-size:8.7px !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){

  html,
  body,
  html.pl-section-snap-enabled,
  html.pl-locomotive-style-active,
  body.pl-locomotive-style-active{
    overflow-x:hidden !important;
    overflow-y:auto !important;
    height:auto !important;
    min-height:100% !important;
    scroll-behavior:auto !important;
    scroll-snap-type:none !important;
    overscroll-behavior-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-y !important;
  }

  body.pl-scroll-landing-lock,
  body.pl-mobile-method-pinned,
  body.pl-mobile-method-exit,
  body.is-mobile-process-dragging{
    overflow-y:auto !important;
    height:auto !important;
    touch-action:pan-y !important;
  }

  section,
  footer,
  main,
  #about,
  #methodology,
  #projects,
  #networks,
  #contact{
    scroll-snap-align:none !important;
    scroll-snap-stop:normal !important;
    scroll-margin-top:0 !important;
    transition:none !important;
  }

  
  #about{
    margin-bottom:0 !important;
  }

  #methodology.process-horizontal-edge-section,
  #methodology.is-mobile-method-pinned,
  #methodology.is-mobile-process-exit,
  #methodology.is-mobile-process-dragging{
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    display:block !important;
    width:100% !important;
    min-height:auto !important;
    height:auto !important;
    max-height:none !important;
    margin-top:0 !important;
    padding-top:0 !important;
    overflow:visible !important;
    transform:none !important;
    translate:none !important;
    opacity:1 !important;
    visibility:visible !important;
    background:#111111 !important;
    touch-action:pan-y !important;
    cursor:auto !important;
    z-index:auto !important;
    isolation:auto !important;
  }

  
  #methodology .process-horizontal-static-head{
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:64px 18px 18px !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:none !important;
    z-index:1 !important;
  }

  #methodology .process-horizontal-static-head h2{
    margin:0 !important;
    font-family:"Maven Pro", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size:clamp(1.72rem, 7vw, 2.25rem) !important;
    line-height:.95 !important;
    letter-spacing:-.06em !important;
    white-space:nowrap !important;
    color:#f5f0e8 !important;
    text-shadow:0 2px 18px rgba(0,0,0,.42) !important;
  }

  
  #methodology .process-horizontal-track{
    position:relative !important;
    inset:auto !important;
    display:flex !important;
    flex-direction:row !important;
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    transform:none !important;
    translate:none !important;
    transition:none !important;
    will-change:auto !important;
    background:#111111 !important;
    touch-action:pan-x pan-y !important;
    scroll-snap-type:x proximity !important;
    scroll-behavior:auto !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }

  #methodology .process-horizontal-track::-webkit-scrollbar{
    display:none !important;
  }

  #methodology .process-horizontal-panel{
    position:relative !important;
    inset:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 100vw !important;
    width:100vw !important;
    min-width:100vw !important;
    min-height:calc(100svh - 72px) !important;
    height:auto !important;
    max-height:none !important;
    overflow:hidden !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    translate:none !important;
    touch-action:pan-x pan-y !important;
    scroll-snap-align:start !important;
    scroll-snap-stop:normal !important;
    padding:0 !important;
  }

  #methodology .process-horizontal-panel__inner{
    width:100% !important;
    min-height:calc(100svh - 72px) !important;
    height:auto !important;
    max-height:none !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
    justify-content:center !important;
    align-content:center !important;
    gap:14px !important;
    padding:28px 18px 58px !important;
  }

  #methodology .process-horizontal-panel__media{
    order:-1 !important;
    justify-self:center !important;
    width:min(58vw, 235px) !important;
    max-height:24svh !important;
    border-radius:18px !important;
    transform:translateY(-10px) !important;
  }

  #methodology .process-horizontal-panel__copy{
    justify-self:center !important;
    width:min(92vw, 420px) !important;
    max-width:420px !important;
    padding-left:30px !important;
    margin-left:-8px !important;
    text-align:left !important;
    transform:translateY(14px) !important;
  }

  #methodology .process-horizontal-panel__number{
    left:0 !important;
    top:.02em !important;
    transform:translate(-30%, 0) !important;
    font-size:clamp(4.55rem, 19vw, 6.15rem) !important;
    opacity:.15 !important;
  }

  #methodology .process-horizontal-panel h3{
    font-size:clamp(1.92rem, 9.15vw, 3.02rem) !important;
    line-height:.9 !important;
    letter-spacing:-.07em !important;
    white-space:nowrap !important;
  }

  #methodology .process-horizontal-panel small{
    font-size:clamp(.86rem, 3.38vw, 1.06rem) !important;
    line-height:1.08 !important;
    white-space:nowrap !important;
  }

  #methodology .process-horizontal-panel p{
    max-width:100% !important;
    margin-top:12px !important;
    font-size:clamp(.9rem, 3.55vw, 1rem) !important;
    line-height:1.38 !important;
  }

  #methodology .process-horizontal-tech{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:5px !important;
    margin-top:12px !important;
    max-width:100% !important;
    overflow:visible !important;
  }

  #methodology .process-horizontal-tech-chip{
    flex:0 0 34px !important;
    width:34px !important;
    height:34px !important;
  }

  #methodology .process-horizontal-tech-chip img,
  #methodology .process-horizontal-tech-chip svg,
  #methodology .process-horizontal-tech-chip .process-horizontal-tech-icon--matplotlib{
    width:22px !important;
    height:22px !important;
  }

  #methodology .process-horizontal-guide,
  #methodology::after{
    display:none !important;
    content:none !important;
  }

  
  #methodology .process-horizontal-panel::before,
  #methodology .process-horizontal-panel::after{
    position:absolute !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:40 !important;
    width:auto !important;
    height:auto !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    color:#f5f0e8 !important;
    font-size:44px !important;
    line-height:1 !important;
    font-weight:900 !important;
    text-shadow:0 3px 12px rgba(0,0,0,.95), 0 0 18px rgba(255,194,0,.45) !important;
    pointer-events:none !important;
    opacity:.9 !important;
  }

  #methodology .process-horizontal-panel::before{
    content:"◀" !important;
    left:8px !important;
  }

  #methodology .process-horizontal-panel::after{
    content:"▶" !important;
    right:8px !important;
  }

  #methodology .process-horizontal-panel:first-child::before,
  #methodology .process-horizontal-panel:last-child::after{
    opacity:.24 !important;
  }

  
  #networks .social-grid,
  #networks .social-grid.social-grid-complete{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    grid-auto-flow:row !important;
    gap:18px 8px !important;
    width:100% !important;
    max-width:100% !important;
    align-items:start !important;
    justify-items:center !important;
  }

  #networks .social-grid .social-card,
  #networks .social-grid.social-grid-complete .social-card,
  #networks .social-grid .social-card.dashboard,
  #networks .social-grid .social-card.mail,
  #networks .social-grid .social-card:nth-child(7),
  #networks .social-grid .social-card:nth-child(8){
    grid-column:auto !important;
    grid-row:auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:auto !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    border-radius:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    text-align:center !important;
  }

  #networks .social-card .social-icon{
    width:62px !important;
    height:62px !important;
    min-width:62px !important;
    min-height:62px !important;
    max-width:62px !important;
    max-height:62px !important;
    margin:0 auto 9px !important;
    display:grid !important;
    place-items:center !important;
    flex:0 0 62px !important;
  }

  #networks .social-card .social-icon img,
  #networks .social-card .social-icon svg{
    width:auto !important;
    height:auto !important;
    max-width:42px !important;
    max-height:42px !important;
    min-width:0 !important;
    min-height:0 !important;
    object-fit:contain !important;
    display:block !important;
  }

  #networks .social-card strong{
    display:block !important;
    font-size:clamp(14px, 3.35vw, 15.5px) !important;
    line-height:1.05 !important;
    margin:0 0 4px !important;
    text-align:center !important;
    color:#f5f0e8 !important;
    font-weight:950 !important;
  }

  #networks .social-card small{
    display:block !important;
    font-size:clamp(10px, 2.55vw, 11.5px) !important;
    line-height:1.14 !important;
    margin:0 !important;
    text-align:center !important;
    color:#d6d0c7 !important;
    font-weight:700 !important;
    max-width:100% !important;
  }
}

@media (max-width: 380px){
  #methodology .process-horizontal-static-head{
    padding-top:58px !important;
  }

  #methodology .process-horizontal-panel__media{
    width:min(55vw, 215px) !important;
    max-height:22svh !important;
  }

  #methodology .process-horizontal-panel__copy{
    width:min(92vw, 390px) !important;
    padding-left:28px !important;
    margin-left:-10px !important;
  }

  #methodology .process-horizontal-panel h3{
    font-size:clamp(1.72rem, 8.45vw, 2.55rem) !important;
  }

  #methodology .process-horizontal-panel small{
    font-size:.86rem !important;
  }

  #methodology .process-horizontal-tech-chip{
    flex-basis:31px !important;
    width:31px !important;
    height:31px !important;
  }

  #networks .social-card .social-icon{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
    flex-basis:58px !important;
  }

  #networks .social-card .social-icon img,
  #networks .social-card .social-icon svg{
    max-width:39px !important;
    max-height:39px !important;
  }

  #networks .social-card strong{
    font-size:13px !important;
  }

  #networks .social-card small{
    font-size:9.5px !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){

  #methodology.process-horizontal-edge-section{
    position:relative !important;
    margin-top:0 !important;
    padding-top:0 !important;
    min-height:auto !important;
    height:auto !important;
    overflow:visible !important;
    background:#111111 !important;
  }

  
  #methodology .process-horizontal-static-head{
    position:absolute !important;
    top:52px !important;
    left:18px !important;
    right:18px !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    z-index:70 !important;
    pointer-events:none !important;
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

  #methodology .process-horizontal-static-head h2{
    margin:0 !important;
    font-family:"Maven Pro", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size:clamp(1.72rem, 7vw, 2.25rem) !important;
    line-height:.95 !important;
    letter-spacing:-.06em !important;
    white-space:nowrap !important;
    color:#111111 !important;
    text-shadow:0 1px 12px rgba(255,255,255,.28) !important;
    transition:color .18s ease, text-shadow .18s ease !important;
  }

  #methodology.is-light-stage .process-horizontal-static-head h2{
    color:#f5f0e8 !important;
    text-shadow:
      0 2px 18px rgba(0,0,0,.62),
      0 0 18px rgba(255,194,0,.22) !important;
  }

  #methodology.is-dark-stage .process-horizontal-static-head h2{
    color:#111111 !important;
    text-shadow:0 1px 12px rgba(255,255,255,.28) !important;
  }

  #methodology .process-horizontal-track{
    margin-top:0 !important;
    padding-top:0 !important;
    scroll-behavior:smooth !important;
  }

  #methodology .process-horizontal-panel{
    min-height:100svh !important;
    height:auto !important;
    max-height:none !important;
  }

  #methodology .process-horizontal-panel__inner{
    min-height:100svh !important;
    height:auto !important;
    max-height:none !important;
    padding-top:116px !important;
  }

  
  #methodology .process-horizontal-panel::before,
  #methodology .process-horizontal-panel::after{
    pointer-events:none !important;
  }
}

@media (max-width: 380px){
  #methodology .process-horizontal-static-head{
    top:48px !important;
    left:16px !important;
    right:16px !important;
  }

  #methodology .process-horizontal-panel__inner{
    padding-top:110px !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){

  
  #projects .repo-filter-toolbar,
  #projects .repo-filter-toolbar-hover-groups,
  #projects .repo-filter-group{
    position:relative !important;
    z-index:12000 !important;
    overflow:visible !important;
  }

  #projects .repo-filter-toolbar{
    overflow-x:auto !important;
    overflow-y:visible !important;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    padding-bottom:12px !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }

  #projects .repo-filter-toolbar::-webkit-scrollbar{
    display:none !important;
  }

  #projects .repo-filter-group{
    flex:0 0 auto !important;
  }

  #projects .repo-filter-category-panel{
    position:absolute !important;
    z-index:13000 !important;
    width:max-content !important;
    min-width:max-content !important;
    max-width:calc(100vw - 28px) !important;
    inline-size:max-content !important;
    padding:10px !important;
    border-radius:16px !important;
    background:rgba(6,7,6,.96) !important;
    border:1px solid rgba(255,194,0,.24) !important;
    box-shadow:0 22px 70px rgba(0,0,0,.72), 0 0 0 1px rgba(255,255,255,.06) inset !important;
    backdrop-filter:blur(12px) !important;
    overflow:visible !important;
  }

  #projects .repo-filter-category-panel .repo-filter-btn{
    display:flex !important;
    width:max-content !important;
    min-width:100% !important;
    max-width:calc(100vw - 52px) !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    white-space:nowrap !important;
    margin:0 0 6px !important;
    padding:8px 13px !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.06) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    font-size:12.6px !important;
    line-height:1.1 !important;
  }

  #projects .repo-filter-category-panel .repo-filter-btn:last-child{
    margin-bottom:0 !important;
  }

  #projects .github-project-grid,
  #projects .github-project-card{
    position:relative !important;
    z-index:1 !important;
  }

  
  #projects .github-project-body{
    padding:15px 12px 16px !important;
  }

  #projects .github-project-body h3{
    font-size:clamp(18px, 4.95vw, 21.2px) !important;
    line-height:1.08 !important;
    letter-spacing:-.48px !important;
    margin-bottom:10px !important;
  }

  #projects .github-project-body .project-status,
  #projects .project-status{
    font-size:clamp(12px, 3.25vw, 13.4px) !important;
    line-height:1.08 !important;
    padding:6px 9px !important;
    margin-bottom:12px !important;
  }

  #projects .github-project-body p:not(.project-status){
    font-size:clamp(13.2px, 3.65vw, 14.9px) !important;
    line-height:1.41 !important;
    margin-bottom:13px !important;
  }

  #projects .mini-tags{
    gap:5px !important;
    margin-bottom:14px !important;
  }

  #projects .mini-tags span{
    font-size:clamp(9.8px, 2.65vw, 10.8px) !important;
    min-height:21px !important;
    padding:4px 6px !important;
  }

  #projects .github-project-card .project-link{
    min-height:38px !important;
    font-size:clamp(12px, 3.15vw, 13.2px) !important;
    line-height:1.08 !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
    white-space:nowrap !important;
  }

  #projects .github-project-card .project-link.has-destination-icon{
    padding-left:34px !important;
    padding-right:34px !important;
  }

  #projects .github-project-card .project-link .btn-destination-icon{
    width:25px !important;
    height:25px !important;
    min-width:25px !important;
    max-width:25px !important;
    min-height:25px !important;
    max-height:25px !important;
    right:5px !important;
  }

  #projects .github-project-card .project-link .btn-destination-icon img,
  #projects .github-project-card .project-link .btn-destination-icon svg{
    width:15px !important;
    height:15px !important;
    min-width:15px !important;
    max-width:15px !important;
    min-height:15px !important;
    max-height:15px !important;
  }

  
  #projects .github-project-card:nth-of-type(8) .project-links-dual,
  #projects .github-project-card:nth-of-type(8) .project-links-editorial,
  #projects .github-project-card:nth-of-type(8) .project-link-row,
  #projects .github-project-card:nth-of-type(9) .project-links-dual,
  #projects .github-project-card:nth-of-type(9) .project-links-editorial,
  #projects .github-project-card:nth-of-type(9) .project-link-row{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    gap:7px !important;
    align-items:stretch !important;
    justify-content:space-between !important;
    width:100% !important;
  }

  #projects .github-project-card:nth-of-type(8) .project-links-dual > *,
  #projects .github-project-card:nth-of-type(8) .project-links-editorial > *,
  #projects .github-project-card:nth-of-type(8) .project-link-row > *,
  #projects .github-project-card:nth-of-type(9) .project-links-dual > *,
  #projects .github-project-card:nth-of-type(9) .project-links-editorial > *,
  #projects .github-project-card:nth-of-type(9) .project-link-row > *{
    flex:1 1 0 !important;
    min-width:0 !important;
  }

  #projects .github-project-card:nth-of-type(8) .project-link,
  #projects .github-project-card:nth-of-type(9) .project-link{
    flex:1 1 0 !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
    white-space:nowrap !important;
    font-size:clamp(10.2px, 2.65vw, 11.4px) !important;
    letter-spacing:-.38px !important;
    padding-left:4px !important;
    padding-right:4px !important;
  }
}

@media (max-width: 380px){
  #projects .github-project-body h3{
    font-size:16.4px !important;
  }

  #projects .github-project-body .project-status,
  #projects .project-status{
    font-size:11px !important;
  }

  #projects .github-project-body p:not(.project-status){
    font-size:12.2px !important;
  }

  #projects .github-project-card .project-link{
    font-size:10.8px !important;
  }

  #projects .github-project-card:nth-of-type(8) .project-link,
  #projects .github-project-card:nth-of-type(9) .project-link{
    font-size:9.1px !important;
    letter-spacing:-.45px !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){

  #projects{
    position:relative !important;
    overflow:visible !important;
    z-index:1 !important;
  }

  #projects .container,
  #projects .github-projects-wrapper,
  #projects .github-projects-inner,
  #projects .repo-filter-area,
  #projects .repo-filter-toolbar,
  #projects .repo-filter-toolbar-hover-groups{
    overflow:visible !important;
  }

  #projects .repo-filter-area,
  #projects .repo-filter-toolbar,
  #projects .repo-filter-toolbar-hover-groups{
    position:relative !important;
    z-index:50000 !important;
  }

  #projects .repo-filter-toolbar{
    overflow-x:auto !important;
    overflow-y:visible !important;
    isolation:isolate !important;
    padding-bottom:18px !important;
  }

  #projects .repo-filter-group{
    position:relative !important;
    z-index:51000 !important;
    overflow:visible !important;
    flex:0 0 auto !important;
    isolation:isolate !important;
  }

  #projects .repo-filter-group:hover,
  #projects .repo-filter-group:focus-within,
  #projects .repo-filter-group.is-open,
  #projects .repo-filter-group.active{
    z-index:52000 !important;
  }

  #projects .repo-filter-category-panel{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    left:0 !important;
    right:auto !important;
    z-index:99999 !important;

    width:-moz-max-content !important;
    width:max-content !important;
    min-width:max-content !important;
    max-width:calc(100vw - 32px) !important;
    inline-size:max-content !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;

    padding:10px !important;
    border-radius:16px !important;
    background:rgba(6,7,6,.98) !important;
    border:1px solid rgba(255,194,0,.28) !important;
    box-shadow:0 24px 76px rgba(0,0,0,.78), 0 0 0 1px rgba(255,255,255,.07) inset !important;
    backdrop-filter:blur(12px) !important;
    overflow:visible !important;
    transform:none !important;
  }

  
  #projects .repo-filter-group:last-child .repo-filter-category-panel,
  #projects .repo-filter-group:nth-last-child(2) .repo-filter-category-panel{
    left:auto !important;
    right:0 !important;
  }

  #projects .repo-filter-category-panel .repo-filter-btn{
    display:flex !important;
    width:100% !important;
    min-width:max-content !important;
    max-width:calc(100vw - 56px) !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    white-space:nowrap !important;
    margin:0 0 6px !important;
    padding:8px 14px !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.065) !important;
    border:1px solid rgba(255,255,255,.09) !important;
    color:#f5f0e8 !important;
    font-size:12.8px !important;
    line-height:1.08 !important;
  }

  #projects .repo-filter-category-panel .repo-filter-btn:last-child{
    margin-bottom:0 !important;
  }

  #projects .repo-filter-category-panel .repo-filter-btn:hover,
  #projects .repo-filter-category-panel .repo-filter-btn:focus{
    background:rgba(255,194,0,.18) !important;
    border-color:rgba(255,194,0,.35) !important;
  }

  
  #projects .github-project-grid,
  #projects .github-project-card,
  #projects .project-image-link,
  #projects .github-project-body{
    position:relative !important;
    z-index:1 !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){

  #projects,
  #projects .container{
    overflow:visible !important;
  }

  #projects .repo-filter-toolbar,
  #projects .repo-filter-toolbar-hover-groups{
    position:relative !important;
    z-index:70000 !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    isolation:auto !important;
  }

  #projects .repo-filter-group{
    position:relative !important;
    z-index:71000 !important;
    overflow:visible !important;
  }

  
  #projects .repo-filter-category-panel.pl-mobile-filter-floating{
    position:fixed !important;
    top:var(--pl-filter-top, 80px) !important;
    left:var(--pl-filter-left, 12px) !important;
    right:auto !important;
    z-index:2147483000 !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;

    width:max-content !important;
    min-width:max-content !important;
    max-width:calc(100vw - 24px) !important;
    inline-size:max-content !important;

    padding:10px !important;
    border-radius:16px !important;
    background:rgba(6,7,6,.985) !important;
    border:1px solid rgba(255,194,0,.32) !important;
    box-shadow:0 26px 90px rgba(0,0,0,.82), 0 0 0 1px rgba(255,255,255,.08) inset !important;
    backdrop-filter:blur(12px) !important;
    overflow:visible !important;
    transform:none !important;
  }

  #projects .repo-filter-category-panel.pl-mobile-filter-floating .repo-filter-btn{
    display:flex !important;
    width:100% !important;
    min-width:max-content !important;
    max-width:calc(100vw - 48px) !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    white-space:nowrap !important;
    margin:0 0 6px !important;
    padding:8px 14px !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.065) !important;
    border:1px solid rgba(255,255,255,.09) !important;
    color:#f5f0e8 !important;
    font-size:12.8px !important;
    line-height:1.08 !important;
  }

  #projects .repo-filter-category-panel.pl-mobile-filter-floating .repo-filter-btn:last-child{
    margin-bottom:0 !important;
  }

  #projects .github-project-grid,
  #projects .github-project-card{
    position:relative !important;
    z-index:1 !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){

  #projects .repo-filter-toolbar{
    overflow-x:auto !important;
    overflow-y:visible !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }

  #projects .repo-filter-toolbar::-webkit-scrollbar{
    display:none !important;
  }

  #projects .repo-filter-group{
    position:relative !important;
    overflow:visible !important;
  }

  body > .repo-filter-category-panel.pl-mobile-filter-portal{
    position:fixed !important;
    top:var(--pl-filter-top, 80px) !important;
    left:var(--pl-filter-left, 12px) !important;
    right:auto !important;
    z-index:2147483000 !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;

    width:max-content !important;
    min-width:max-content !important;
    max-width:calc(100vw - 24px) !important;
    inline-size:max-content !important;

    max-height:none !important;
    overflow:visible !important;
    overflow-x:visible !important;
    overflow-y:visible !important;

    padding:10px !important;
    border-radius:16px !important;
    background:rgba(6,7,6,.985) !important;
    border:1px solid rgba(255,194,0,.32) !important;
    box-shadow:0 26px 90px rgba(0,0,0,.82), 0 0 0 1px rgba(255,255,255,.08) inset !important;
    backdrop-filter:blur(12px) !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  body > .repo-filter-category-panel.pl-mobile-filter-portal .repo-filter-btn{
    display:flex !important;
    width:100% !important;
    min-width:max-content !important;
    max-width:calc(100vw - 48px) !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    white-space:nowrap !important;
    margin:0 0 6px !important;
    padding:8px 14px !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.065) !important;
    border:1px solid rgba(255,255,255,.09) !important;
    color:#f5f0e8 !important;
    font-size:12.8px !important;
    line-height:1.08 !important;
  }

  body > .repo-filter-category-panel.pl-mobile-filter-portal .repo-filter-btn:last-child{
    margin-bottom:0 !important;
  }

  body > .repo-filter-category-panel.pl-mobile-filter-portal .repo-filter-btn.active{
    background:rgba(255,194,0,.20) !important;
    border-color:rgba(255,194,0,.42) !important;
  }

  #projects .github-project-grid,
  #projects .github-project-card{
    position:relative !important;
    z-index:1 !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){

  #projects .repo-filter-toolbar,
  #projects .repo-filter-toolbar-hover-groups,
  #projects .repo-filter-toolbar-categories{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:9px 8px !important;

    width:100% !important;
    max-width:100% !important;

    overflow-x:visible !important;
    overflow-y:visible !important;
    touch-action:pan-y !important;
    overscroll-behavior-x:none !important;
    -webkit-overflow-scrolling:auto !important;

    padding-bottom:14px !important;
    scrollbar-width:none !important;
  }

  #projects .repo-filter-toolbar::-webkit-scrollbar{
    display:none !important;
  }

  #projects .repo-filter-toolbar > .repo-filter-btn,
  #projects .repo-filter-group{
    flex:0 0 auto !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  #projects .repo-filter-group{
    position:relative !important;
    overflow:visible !important;
    touch-action:manipulation !important;
  }

  #projects .repo-filter-group-trigger,
  #projects .repo-filter-toolbar > .repo-filter-btn{
    white-space:nowrap !important;
    touch-action:manipulation !important;
  }

  
  body > .repo-filter-category-panel.pl-mobile-filter-portal{
    position:fixed !important;
    z-index:2147483000 !important;
    width:max-content !important;
    min-width:max-content !important;
    max-width:calc(100vw - 24px) !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){

  
  #about .small-text.hero-entry-kicker,
  #about .small-text{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 0 14px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    outline:0 !important;
    color:inherit !important;
    text-align:left !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    font-size:clamp(12.8px, 3.42vw, 15px) !important;
    line-height:1.1 !important;
    letter-spacing:.015em !important;
  }

  #about .small-text *,
  #about .small-text.hero-entry-kicker *{
    white-space:nowrap !important;
  }

  
  #about .pl-hero-title.hero-entry-title,
  #about .pl-hero-title{
    display:block !important;
    width:min(100%, 10.4ch) !important;
    max-width:10.4ch !important;
    font-size:clamp(4.95rem, 20vw, 7.15rem) !important;
    line-height:.81 !important;
    letter-spacing:-.092em !important;
    margin:0 0 18px !important;
  }

  #about .pl-hero-title .hero-line{
    display:block !important;
    width:10.4ch !important;
    max-width:10.4ch !important;
    white-space:normal !important;
  }

  #about .pl-hero-title .hero-rotator{
    display:block !important;
    position:relative !important;
    min-height:1.03em !important;
    margin-top:.08em !important;
    text-align:left !important;
    white-space:nowrap !important;
  }

  #about .pl-hero-title .hero-rotator span{
    left:0 !important;
    right:auto !important;
    text-align:left !important;
    white-space:nowrap !important;
  }

  
  #about .about-text p.hero-entry-copy,
  #about .about-text > p{
    color:#f4efe7 !important;
    opacity:1 !important;
    text-shadow:0 2px 18px rgba(0,0,0,.36) !important;
  }

  
  #projects .projects-intro{
    color:#f4efe7 !important;
    opacity:1 !important;
    text-shadow:0 2px 18px rgba(0,0,0,.28) !important;
  }

  
  #networks .social-intro{
    color:#f4efe7 !important;
    opacity:1 !important;
    text-shadow:0 2px 18px rgba(0,0,0,.28) !important;
  }
}

@media (max-width: 380px){
  #about .small-text.hero-entry-kicker,
  #about .small-text{
    font-size:clamp(11.5px, 3.08vw, 12.6px) !important;
    letter-spacing:-.01em !important;
  }

  #about .pl-hero-title.hero-entry-title,
  #about .pl-hero-title{
    font-size:clamp(4.45rem, 18.6vw, 6.25rem) !important;
    max-width:10.2ch !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){

  #about .small-text.hero-entry-kicker,
  #about .small-text{
    color:unset !important;
  }

  #about .small-text.hero-entry-kicker *,
  #about .small-text *{
    color:revert-layer !important;
  }

  
  #about .small-text.hero-entry-kicker,
  #about .small-text{
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    outline:0 !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){

  #about .small-text.hero-entry-kicker,
  #about .small-text{
    color:#f4efe7 !important;
    opacity:1 !important;
    text-shadow:0 2px 16px rgba(0,0,0,.45) !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    outline:0 !important;
  }

  #about .small-text.hero-entry-kicker span,
  #about .small-text.hero-entry-kicker strong,
  #about .small-text.hero-entry-kicker b,
  #about .small-text span,
  #about .small-text strong,
  #about .small-text b{
    color:#ffc200 !important;
    opacity:1 !important;
    text-shadow:0 2px 16px rgba(0,0,0,.45) !important;
    white-space:nowrap !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){

  #about .small-text.hero-entry-kicker,
  #about .small-text.hero-entry-kicker *,
  #about .small-text,
  #about .small-text *{
    color:#ff9f1c !important;
    opacity:1 !important;
    text-shadow:0 2px 16px rgba(0,0,0,.45) !important;
    white-space:nowrap !important;
  }

  #about .small-text.hero-entry-kicker,
  #about .small-text{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    outline:0 !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){

  body #about .about-text .small-text.hero-entry-kicker,
  body #about .about-text .small-text.hero-entry-kicker *,
  body #about .about-text .small-text.hero-entry-kicker span,
  body #about .about-text .small-text.hero-entry-kicker strong,
  body #about .about-text .small-text.hero-entry-kicker b,
  body #about .about-text .small-text.hero-entry-kicker em,
  body #about .about-text .small-text.hero-entry-kicker i,
  body.dark-mode #about .about-text .small-text.hero-entry-kicker,
  body.dark-mode #about .about-text .small-text.hero-entry-kicker *,
  body:not(.dark-mode) #about .about-text .small-text.hero-entry-kicker,
  body:not(.dark-mode) #about .about-text .small-text.hero-entry-kicker *{
    color:#ff9f1c !important;
    -webkit-text-fill-color:#ff9f1c !important;
    opacity:1 !important;
  }

  body #about .about-text .small-text.hero-entry-kicker{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    outline:0 !important;
    text-shadow:0 2px 16px rgba(0,0,0,.45) !important;
  }

  body #about .about-text .small-text.hero-entry-kicker *{
    white-space:nowrap !important;
    text-shadow:inherit !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){

  #methodology .process-horizontal-static-head{
    padding-top:48px !important;
    padding-bottom:0 !important;
  }

  #methodology .process-horizontal-static-head h2{
    font-size:clamp(1.64rem, 6.55vw, 2.08rem) !important;
    line-height:.96 !important;
  }

  #methodology .process-horizontal-panel{
    min-height:calc(100svh - 56px) !important;
  }

  #methodology .process-horizontal-panel__inner{
    min-height:calc(100svh - 56px) !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
    align-content:center !important;
    gap:20px !important;
    padding:6px 18px 74px !important;
  }

  
  #methodology .process-horizontal-panel__media{
    width:min(60vw, 248px) !important;
    max-height:27svh !important;
    justify-self:center !important;
    transform:translateY(-42px) !important;
    margin-bottom:-18px !important;
    z-index:3 !important;
  }

  
  #methodology .process-horizontal-panel__copy{
    width:min(92vw, 420px) !important;
    padding-left:30px !important;
    margin-left:-8px !important;
    transform:translateY(34px) !important;
    z-index:2 !important;
  }

  #methodology .process-horizontal-panel__number{
    font-size:clamp(4.25rem, 18vw, 5.75rem) !important;
    transform:translate(-31%, 0) !important;
    opacity:.15 !important;
  }

  #methodology .process-horizontal-panel h3{
    font-size:clamp(1.78rem, 8.35vw, 2.68rem) !important;
    line-height:.92 !important;
    margin-bottom:10px !important;
  }

  #methodology .process-horizontal-panel small{
    font-size:clamp(.82rem, 3.18vw, .98rem) !important;
    line-height:1.08 !important;
    margin-bottom:8px !important;
  }

  #methodology .process-horizontal-panel p{
    margin-top:8px !important;
    margin-bottom:0 !important;
    font-size:clamp(.86rem, 3.38vw, .96rem) !important;
    line-height:1.32 !important;
  }

  #methodology .process-horizontal-tech{
    margin-top:11px !important;
    gap:4px !important;
  }

  #methodology .process-horizontal-tech-chip{
    width:33px !important;
    height:33px !important;
    flex-basis:33px !important;
  }

  #methodology .process-horizontal-tech-chip img,
  #methodology .process-horizontal-tech-chip svg,
  #methodology .process-horizontal-tech-chip .process-horizontal-tech-icon--matplotlib{
    width:21px !important;
    height:21px !important;
  }
}

@media (max-width: 380px){
  #methodology .process-horizontal-static-head{
    padding-top:44px !important;
  }

  #methodology .process-horizontal-panel__inner{
    padding:4px 16px 70px !important;
    gap:18px !important;
  }

  #methodology .process-horizontal-panel__media{
    width:min(58vw, 224px) !important;
    max-height:25svh !important;
    transform:translateY(-38px) !important;
    margin-bottom:-16px !important;
  }

  #methodology .process-horizontal-panel__copy{
    width:min(93vw, 390px) !important;
    padding-left:28px !important;
    margin-left:-10px !important;
    transform:translateY(30px) !important;
  }

  #methodology .process-horizontal-panel h3{
    font-size:clamp(1.58rem, 7.7vw, 2.28rem) !important;
  }

  #methodology .process-horizontal-panel small{
    font-size:.8rem !important;
  }

  #methodology .process-horizontal-panel p{
    font-size:.83rem !important;
    line-height:1.3 !important;
  }

  #methodology .process-horizontal-tech-chip{
    width:30px !important;
    height:30px !important;
    flex-basis:30px !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){

  #methodology .process-horizontal-panel__copy{
    margin-top:34px !important;
    transform:translateY(58px) !important;
    align-self:start !important;
  }

  #methodology .process-horizontal-panel__number{
    transform:translate(-31%, 10px) !important;
  }

  #methodology .process-horizontal-panel h3,
  #methodology .process-horizontal-panel small,
  #methodology .process-horizontal-panel p,
  #methodology .process-horizontal-tech{
    position:relative !important;
    top:0 !important;
  }
}

@media (max-width: 380px){
  #methodology .process-horizontal-panel__copy{
    margin-top:30px !important;
    transform:translateY(50px) !important;
  }

  #methodology .process-horizontal-panel__number{
    transform:translate(-31%, 8px) !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){

  #methodology .process-horizontal-static-head{
    padding-top:26px !important;
    padding-bottom:4px !important;
  }
}

@media (max-width: 380px){
  #methodology .process-horizontal-static-head{
    padding-top:24px !important;
    padding-bottom:4px !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){

  #methodology .process-horizontal-panel__number{
    transform:translate(-31%, -8px) !important;
  }

  #methodology .process-horizontal-panel h3{
    margin-top:8px !important;
  }
}

@media (max-width: 380px){
  #methodology .process-horizontal-panel__number{
    transform:translate(-31%, -6px) !important;
  }

  #methodology .process-horizontal-panel h3{
    margin-top:7px !important;
  }
}

.language-toggle{
  border:0;
  outline:0;
  appearance:none;
  -webkit-appearance:none;
  background:rgba(255,255,255,.07);
  color:#f5f0e8;
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  padding:0;
  line-height:1;
  cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12), 0 10px 24px rgba(0,0,0,.16);
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.language-toggle:hover,
.language-toggle:focus-visible{
  transform:translateY(-1px);
  background:rgba(255,194,0,.14);
  box-shadow:inset 0 0 0 1px rgba(255,194,0,.28), 0 12px 28px rgba(0,0,0,.2);
}

.language-toggle__flag{
  display:block;
  font-size:18px;
  line-height:1;
  transform:translateY(.5px);
}

.language-toggle-desktop{
  margin-right:12px;
}

.navbar-mobile-actions{
  display:none;
}

@media (min-width: 768px){
  .language-toggle-mobile{
    display:none !important;
  }

  .language-toggle-desktop{
    display:inline-grid !important;
    vertical-align:middle;
  }

  .color-mode{
    display:inline-flex !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){
  .navbar .container{
    display:flex;
    align-items:center;
  }

  .navbar-mobile-actions{
    display:flex !important;
    align-items:center;
    justify-content:center;
    margin-left:auto;
    margin-right:10px;
    flex:0 0 auto;
  }

  .language-toggle-mobile{
    display:inline-grid !important;
    width:32px;
    height:32px;
    min-width:32px;
  }

  .language-toggle-mobile .language-toggle__flag{
    font-size:17px;
  }

  .language-toggle-desktop{
    display:none !important;
  }
}

.language-toggle__flag-img{
  display:block;
  width:23px;
  height:23px;
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 0 0 1px rgba(255,255,255,.22);
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){
  .language-toggle-mobile .language-toggle__flag-img{
    width:22px;
    height:22px;
  }
}

.color-mode{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  max-width:34px !important;
  max-height:34px !important;
  padding:0 !important;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:0 !important;
  line-height:1 !important;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  cursor:pointer !important;
}

.color-mode::before,
.color-mode::after{
  display:none !important;
  content:none !important;
}

.color-mode .color-mode-icon{
  margin:0 !important;
  padding:0 !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:22px !important;
  line-height:1 !important;
}

.color-mode .color-mode-icon::before{
  margin:0 !important;
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){
  .color-mode{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    max-width:32px !important;
    max-height:32px !important;
  }

  .color-mode .color-mode-icon{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    font-size:21px !important;
  }
}

.navbar .ml-lg-auto,
.navbar .ml-lg-4{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.language-toggle-desktop{
  margin-right:18px !important;
}

.language-toggle,
.color-mode{
  vertical-align:middle !important;
  align-self:center !important;
}

.color-mode{
  transform:translateY(0) !important;
}

.color-mode .color-mode-icon{
  transform:translateY(0) !important;
}


body.dark-mode .color-mode-icon:before{
  content:"\eb65" !important; 
}


body:not(.dark-mode) .color-mode-icon:before{
  content:"\eb9f" !important; 
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){
  .navbar-mobile-actions{
    margin-right:14px !important;
  }

  .language-toggle-mobile{
    margin-right:0 !important;
  }

  .language-toggle,
  .color-mode{
    align-self:center !important;
  }
}

.navbar .ml-lg-4{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:22px !important;
}

.language-toggle-desktop{
  margin-right:0 !important;
}

.language-toggle,
.color-mode{
  flex:0 0 auto !important;
  align-self:center !important;
}

.color-mode{
  position:relative !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  max-width:34px !important;
  max-height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  font-size:0 !important;
  line-height:1 !important;
}

.color-mode .color-mode-icon{
  position:relative !important;
  right:auto !important;
  inset:auto !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  transform:none !important;
}


.color-mode .color-mode-icon::before,
body.dark-mode .color-mode-icon::before,
body:not(.dark-mode) .color-mode-icon::before{
  content:none !important;
  display:none !important;
}


.color-mode .color-mode-icon::after{
  font-family:'unicons' !important;
  display:block !important;
  position:static !important;
  inset:auto !important;
  width:34px !important;
  height:34px !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  line-height:34px !important;
  font-size:24px !important;
  font-weight:300 !important;
  font-style:normal !important;
  transform:none !important;
}


body.dark-mode .color-mode-icon::after,
body.dark-mode .color-mode-icon.active::after{
  content:"\eb65" !important;
  color:#f5f0e8 !important;
}


body:not(.dark-mode) .color-mode-icon::after,
body:not(.dark-mode) .color-mode-icon:not(.active)::after{
  content:"\ea9f" !important;
  color:#2a2a2a !important;
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){
  .navbar-mobile-actions{
    margin-left:auto !important;
    margin-right:16px !important;
  }

  .language-toggle-mobile{
    margin:0 !important;
  }

  .color-mode,
  .color-mode .color-mode-icon,
  .color-mode .color-mode-icon::after{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    line-height:32px !important;
  }

  .color-mode .color-mode-icon::after{
    font-size:23px !important;
  }
}

@media (min-width: 768px){

  #networks .social-card{
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }

  #networks .social-card::before,
  #networks .social-card::after{
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }
}

.language-selector{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  z-index:100000;
}

.language-select-toggle{
  border:0;
  outline:0;
  appearance:none;
  -webkit-appearance:none;
  background:rgba(255,255,255,.07);
  color:#f5f0e8;
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  padding:0;
  line-height:1;
  cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12), 0 10px 24px rgba(0,0,0,.16);
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.language-select-toggle:hover,
.language-select-toggle:focus-visible{
  transform:translateY(-1px);
  background:rgba(255,194,0,.14);
  box-shadow:inset 0 0 0 1px rgba(255,194,0,.28), 0 12px 28px rgba(0,0,0,.2);
}

.language-select-current-img,
.language-option-img{
  display:block;
  width:23px;
  height:23px;
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 0 0 1px rgba(255,255,255,.22);
}

.language-menu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:center;
  padding:8px;
  border-radius:999px;
  background:rgba(8,9,8,.96);
  border:1px solid rgba(255,194,0,.24);
  box-shadow:0 20px 60px rgba(0,0,0,.48);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-4px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.language-selector.is-open .language-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}

.language-option{
  border:0;
  outline:0;
  background:transparent;
  width:30px;
  height:30px;
  min-width:30px;
  border-radius:999px;
  display:grid;
  place-items:center;
  padding:0;
  cursor:pointer;
  opacity:.72;
  transition:opacity .18s ease, transform .18s ease, box-shadow .18s ease;
}

.language-option:hover,
.language-option:focus-visible,
.language-option.is-active{
  opacity:1;
  transform:translateY(-1px);
}

.language-option.is-active{
  box-shadow:0 0 0 2px rgba(255,194,0,.46);
}

.language-toggle,
.language-toggle-desktop,
.language-toggle-mobile{
  display:none !important;
}

@media (min-width: 768px){
  .language-selector-mobile{
    display:none !important;
  }

  .language-selector-desktop{
    display:inline-flex !important;
    margin-right:0 !important;
  }

  .navbar .ml-lg-4{
    gap:22px !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){
  .language-selector-desktop{
    display:none !important;
  }

  .language-selector-mobile{
    display:inline-flex !important;
  }

  .language-select-toggle-mobile{
    width:32px;
    height:32px;
    min-width:32px;
  }

  .language-select-toggle-mobile .language-select-current-img,
  .language-selector-mobile .language-option-img{
    width:22px;
    height:22px;
  }

  .language-selector-mobile .language-menu{
    right:-4px;
    top:calc(100% + 9px);
  }

  .navbar-mobile-actions{
    display:flex !important;
    align-items:center;
    justify-content:center;
    margin-left:auto;
    margin-right:16px !important;
    flex:0 0 auto;
  }
}

#about .pl-it-mobile-break{
  display:none !important;
}

#about .pl-it-desktop-space{
  display:inline !important;
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){
  html[lang="it"] #about .pl-it-mobile-break{
    display:block !important;
  }

  html[lang="it"] #about .pl-it-desktop-space{
    display:none !important;
  }
}

body:not(.dark-mode) #projects .repo-filter-toolbar{
  position:relative;
  z-index:30;
}

body:not(.dark-mode) #projects .repo-filter-btn,
body:not(.dark-mode) #projects .repo-filter-group-trigger{
  color:#1f2328 !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(31,35,40,.16) !important;
  box-shadow:0 10px 28px rgba(31,35,40,.10) !important;
}

body:not(.dark-mode) #projects .repo-filter-btn:hover,
body:not(.dark-mode) #projects .repo-filter-btn:focus-visible,
body:not(.dark-mode) #projects .repo-filter-group-trigger:hover,
body:not(.dark-mode) #projects .repo-filter-group-trigger:focus-visible{
  color:#111111 !important;
  background:#ffffff !important;
  border-color:rgba(255,183,0,.55) !important;
  box-shadow:0 12px 32px rgba(31,35,40,.14), 0 0 0 3px rgba(255,183,0,.16) !important;
}

body:not(.dark-mode) #projects .repo-filter-btn.is-active,
body:not(.dark-mode) #projects .repo-filter-btn[aria-pressed="true"],
body:not(.dark-mode) #projects .repo-filter-btn[data-active="true"]{
  color:#101010 !important;
  background:#ffc400 !important;
  border-color:#ffc400 !important;
  box-shadow:0 12px 28px rgba(255,196,0,.30) !important;
}

body:not(.dark-mode) #projects .repo-filter-category-panel{
  color:#1f2328 !important;
  background:rgba(255,255,255,.98) !important;
  border:1px solid rgba(31,35,40,.16) !important;
  box-shadow:0 18px 44px rgba(31,35,40,.16) !important;
}

body:not(.dark-mode) #projects .repo-filter-category-panel .repo-filter-btn{
  color:#1f2328 !important;
  background:rgba(246,247,249,.96) !important;
  border-color:rgba(31,35,40,.14) !important;
}

body:not(.dark-mode) #projects .filter-icon{
  color:currentColor !important;
}

body:not(.dark-mode) #projects .section-kicker{
  color:#b88600 !important;
}

body:not(.dark-mode) #projects .projects-intro{
  color:rgba(31,35,40,.70) !important;
}

body:not(.dark-mode) #projects .repo-filter-toolbar,
body.light-mode #projects .repo-filter-toolbar,
html:not(.dark-mode) body:not(.dark-mode) #projects .repo-filter-toolbar{
  position:relative !important;
  z-index:80 !important;
  overflow:visible !important;
}


body:not(.dark-mode) #projects .repo-filter-toolbar button,
body.light-mode #projects .repo-filter-toolbar button,
html:not(.dark-mode) body:not(.dark-mode) #projects .repo-filter-toolbar button,
body:not(.dark-mode) #projects .repo-filter-btn,
body:not(.dark-mode) #projects .repo-filter-group-trigger,
body.light-mode #projects .repo-filter-btn,
body.light-mode #projects .repo-filter-group-trigger{
  color:#16181d !important;
  -webkit-text-fill-color:#16181d !important;
  opacity:1 !important;
  background:#ffffff !important;
  border:1px solid rgba(22,24,29,.22) !important;
  box-shadow:0 12px 30px rgba(22,24,29,.12) !important;
  text-shadow:none !important;
  filter:none !important;
}


body:not(.dark-mode) #projects .repo-filter-toolbar button *,
body.light-mode #projects .repo-filter-toolbar button *,
html:not(.dark-mode) body:not(.dark-mode) #projects .repo-filter-toolbar button *{
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
  opacity:1 !important;
  text-shadow:none !important;
  filter:none !important;
}


body:not(.dark-mode) #projects .repo-filter-btn.is-active,
body:not(.dark-mode) #projects .repo-filter-btn.active,
body:not(.dark-mode) #projects .repo-filter-btn[aria-pressed="true"],
body.light-mode #projects .repo-filter-btn.is-active,
body.light-mode #projects .repo-filter-btn.active,
body.light-mode #projects .repo-filter-btn[aria-pressed="true"]{
  color:#0f1115 !important;
  -webkit-text-fill-color:#0f1115 !important;
  background:#ffc400 !important;
  border-color:#ffc400 !important;
  box-shadow:0 14px 30px rgba(255,196,0,.32) !important;
}


body:not(.dark-mode) #projects .repo-filter-toolbar button:hover,
body:not(.dark-mode) #projects .repo-filter-toolbar button:focus-visible,
body.light-mode #projects .repo-filter-toolbar button:hover,
body.light-mode #projects .repo-filter-toolbar button:focus-visible{
  color:#0f1115 !important;
  -webkit-text-fill-color:#0f1115 !important;
  background:#fffaf0 !important;
  border-color:rgba(255,183,0,.72) !important;
  box-shadow:0 16px 36px rgba(22,24,29,.16), 0 0 0 3px rgba(255,196,0,.18) !important;
}


body:not(.dark-mode) #projects .repo-filter-category-panel,
body.light-mode #projects .repo-filter-category-panel,
html:not(.dark-mode) body:not(.dark-mode) #projects .repo-filter-category-panel{
  color:#16181d !important;
  -webkit-text-fill-color:#16181d !important;
  opacity:1 !important;
  background:#ffffff !important;
  border:1px solid rgba(22,24,29,.18) !important;
  box-shadow:0 22px 54px rgba(22,24,29,.20) !important;
  text-shadow:none !important;
  filter:none !important;
  z-index:120 !important;
}


body:not(.dark-mode) #projects .repo-filter-category-panel .repo-filter-btn,
body.light-mode #projects .repo-filter-category-panel .repo-filter-btn,
html:not(.dark-mode) body:not(.dark-mode) #projects .repo-filter-category-panel .repo-filter-btn{
  color:#16181d !important;
  -webkit-text-fill-color:#16181d !important;
  opacity:1 !important;
  background:#f6f7f9 !important;
  border:1px solid rgba(22,24,29,.16) !important;
  box-shadow:none !important;
}


body:not(.dark-mode) #projects .repo-filter-category-panel *,
body.light-mode #projects .repo-filter-category-panel *,
html:not(.dark-mode) body:not(.dark-mode) #projects .repo-filter-category-panel *{
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
  opacity:1 !important;
  text-shadow:none !important;
  filter:none !important;
}


body:not(.dark-mode) #projects .section-kicker,
body.light-mode #projects .section-kicker{
  color:#9a6a00 !important;
  -webkit-text-fill-color:#9a6a00 !important;
  opacity:1 !important;
}

body:not(.dark-mode) #projects .projects-intro,
body.light-mode #projects .projects-intro{
  color:rgba(22,24,29,.72) !important;
  -webkit-text-fill-color:rgba(22,24,29,.72) !important;
  opacity:1 !important;
}


body:not(.dark-mode) #projects .repo-filter-group-trigger::after,
body.light-mode #projects .repo-filter-group-trigger::after{
  color:#16181d !important;
  opacity:1 !important;
}

body:not(.dark-mode) #projects .github-project-card,
body.light-mode #projects .github-project-card,
html:not(.dark-mode) body:not(.dark-mode) #projects .github-project-card{
  color:#15171c !important;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(22,24,29,.035) 0px,
      rgba(22,24,29,.035) 1px,
      transparent 1px,
      transparent 13px
    ),
    linear-gradient(180deg, #ffffff 0%, #f6f7f9 100%) !important;
  border:1px solid rgba(22,24,29,.14) !important;
  box-shadow:0 18px 48px rgba(22,24,29,.14) !important;
}

body:not(.dark-mode) #projects .github-project-card::before,
body.light-mode #projects .github-project-card::before,
html:not(.dark-mode) body:not(.dark-mode) #projects .github-project-card::before{
  background:
    radial-gradient(circle at 20% 0%, rgba(255,196,0,.16), transparent 34%),
    radial-gradient(circle at 88% 6%, rgba(22,24,29,.08), transparent 32%) !important;
  opacity:.75 !important;
}

body:not(.dark-mode) #projects .github-project-card::after,
body.light-mode #projects .github-project-card::after,
html:not(.dark-mode) body:not(.dark-mode) #projects .github-project-card::after{
  border-color:rgba(22,24,29,.10) !important;
  opacity:.65 !important;
}


body:not(.dark-mode) #projects .github-project-card h3,
body.light-mode #projects .github-project-card h3{
  color:#14161b !important;
  -webkit-text-fill-color:#14161b !important;
  text-shadow:none !important;
}

body:not(.dark-mode) #projects .github-project-card p,
body:not(.dark-mode) #projects .github-project-card .project-description,
body.light-mode #projects .github-project-card p,
body.light-mode #projects .github-project-card .project-description{
  color:rgba(22,24,29,.76) !important;
  -webkit-text-fill-color:rgba(22,24,29,.76) !important;
  text-shadow:none !important;
}

body:not(.dark-mode) #projects .github-project-card .project-status,
body.light-mode #projects .github-project-card .project-status{
  color:#145a32 !important;
  -webkit-text-fill-color:#145a32 !important;
  background:rgba(46,204,113,.16) !important;
  border:1px solid rgba(46,204,113,.30) !important;
}

body:not(.dark-mode) #projects .github-project-card .project-status.development,
body.light-mode #projects .github-project-card .project-status.development{
  color:#7a5700 !important;
  -webkit-text-fill-color:#7a5700 !important;
  background:rgba(255,196,0,.20) !important;
  border-color:rgba(255,196,0,.38) !important;
}


body:not(.dark-mode) #projects .github-project-card .mini-tags span,
body.light-mode #projects .github-project-card .mini-tags span{
  color:#20242b !important;
  -webkit-text-fill-color:#20242b !important;
  background:rgba(22,24,29,.07) !important;
  border:1px solid rgba(22,24,29,.16) !important;
  box-shadow:none !important;
  text-shadow:none !important;
}


body:not(.dark-mode) #projects .github-project-card .project-link,
body.light-mode #projects .github-project-card .project-link{
  text-shadow:none !important;
}

body:not(.dark-mode) #projects .github-project-card .project-link:not(.primary),
body.light-mode #projects .github-project-card .project-link:not(.primary){
  color:#1d232b !important;
  -webkit-text-fill-color:#1d232b !important;
  border-color:rgba(255,196,0,.80) !important;
  background:rgba(255,255,255,.80) !important;
}

body:not(.dark-mode) #projects .github-project-card .project-link.primary,
body.light-mode #projects .github-project-card .project-link.primary{
  color:#101010 !important;
  -webkit-text-fill-color:#101010 !important;
  background:#ffc400 !important;
  border-color:#ffc400 !important;
  box-shadow:0 12px 26px rgba(255,196,0,.25) !important;
}


body:not(.dark-mode) #projects .github-project-card .project-link .project-link-icon,
body.light-mode #projects .github-project-card .project-link .project-link-icon,
body:not(.dark-mode) #projects .github-project-card .project-link .link-icon,
body.light-mode #projects .github-project-card .project-link .link-icon{
  background:#ffffff !important;
  box-shadow:0 4px 12px rgba(22,24,29,.16) !important;
}


body:not(.dark-mode) #projects .github-project-card .project-image-link,
body.light-mode #projects .github-project-card .project-image-link{
  border-bottom:1px solid rgba(22,24,29,.12) !important;
}

body:not(.dark-mode) #projects .github-project-card img,
body.light-mode #projects .github-project-card img{
  box-shadow:none !important;
}


body:not(.dark-mode) #projects .github-project-card :is(h3, p, span, small, strong, a),
body.light-mode #projects .github-project-card :is(h3, p, span, small, strong, a){
  text-shadow:none !important;
}

body.dark-mode #about .hero-entry-copy,
.dark-mode #about .hero-entry-copy,
body.dark-mode #projects .projects-intro,
.dark-mode #projects .projects-intro,
body.dark-mode #networks .social-intro,
.dark-mode #networks .social-intro{
  color:#f4efe7 !important;
  -webkit-text-fill-color:#f4efe7 !important;
  opacity:1 !important;
  text-shadow:none !important;
}


body:not(.dark-mode) #about .hero-entry-copy,
body:not(.dark-mode) #projects .projects-intro,
body:not(.dark-mode) #networks .social-intro,
body.light-mode #about .hero-entry-copy,
body.light-mode #projects .projects-intro,
body.light-mode #networks .social-intro{
  color:#2f333a !important;
  -webkit-text-fill-color:#2f333a !important;
  opacity:1 !important;
  text-shadow:none !important;
}

html body footer.footer,
html body.dark-mode footer.footer,
html body:not(.dark-mode) footer.footer{
  color:#f4efe7 !important;
  -webkit-text-fill-color:#f4efe7 !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  text-align:center !important;
  background:#050606 !important;
  isolation:isolate !important;
}

html body footer.footer .container,
html body footer.footer .row,
html body footer.footer [class*="col-"]{
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  text-align:center !important;
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
}

html body footer.footer p.copyright-text,
html body footer.footer .copyright-text,
html body footer.footer .copyright-text.text-center,
html body.dark-mode footer.footer p.copyright-text,
html body.dark-mode footer.footer .copyright-text,
html body:not(.dark-mode) footer.footer p.copyright-text,
html body:not(.dark-mode) footer.footer .copyright-text{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 auto !important;
  padding:0 16px !important;
  text-align:center !important;

  color:#f4efe7 !important;
  -webkit-text-fill-color:#f4efe7 !important;
  opacity:1 !important;
  visibility:visible !important;

  font-size:14px !important;
  font-weight:500 !important;
  line-height:1.6 !important;
  letter-spacing:.01em !important;

  text-shadow:none !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  background:transparent !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
}

html body footer.footer p.copyright-text *,
html body footer.footer .copyright-text *{
  color:#f4efe7 !important;
  -webkit-text-fill-color:#f4efe7 !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}

html body footer.footer .pl-footer-author-note{
  display:none !important;
}


@media (max-width: 767px){
  html body footer.footer p.copyright-text,
  html body footer.footer .copyright-text{
    font-size:12.5px !important;
    line-height:1.55 !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }
}

@media (max-width:767px){
  #projects .github-project-card .project-link.has-destination-icon,
  #projects .github-project-card .project-links-dual .project-link.has-destination-icon,
  #projects .github-project-card .project-links-dashboard .project-link.has-destination-icon,
  #projects .github-project-card .project-links-editorial .project-link.has-destination-icon{
    justify-content:flex-start !important;
    text-align:left !important;
    padding-left:10px !important;
    padding-right:34px !important;
    white-space:normal !important;
    line-height:1.08 !important;
    gap:0 !important;
  }

  #projects .github-project-card .project-link.has-destination-icon .btn-destination-icon{
    position:absolute !important;
    right:4px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    margin-left:0 !important;
  }

  #projects .github-project-card .project-links-dual .project-link,
  #projects .github-project-card .project-links-dashboard .project-link,
  #projects .github-project-card .project-links-editorial .project-link{
    justify-content:flex-start !important;
    text-align:left !important;
  }
}

.color-mode-mobile{
  display:none !important;
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){
  .navbar-mobile-actions{
    gap:8px !important;
  }

  .navbar-mobile-actions .color-mode-mobile{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    max-width:32px !important;
    max-height:32px !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:999px !important;
    flex:0 0 auto !important;
  }

  .navbar-mobile-actions .color-mode-mobile .color-mode-icon{
    right:auto !important;
    width:18px !important;
    height:18px !important;
    margin:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .navbar-mobile-actions .color-mode-mobile .color-mode-icon:after{
    font-size:24px !important;
    line-height:1 !important;
  }

  .navbar-collapse .color-mode:not(.color-mode-mobile){
    display:none !important;
  }
}

@media (min-width: 768px){
  .navbar-mobile-actions .color-mode-mobile{
    display:none !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){
  .navbar-mobile-actions{
    height:32px !important;
    align-items:center !important;
  }

  .navbar-mobile-actions .language-selector-mobile,
  .navbar-mobile-actions .language-select-toggle-mobile,
  .navbar-mobile-actions .color-mode-mobile,
  .pl-smart-navbar .navbar-toggler{
    align-self:center !important;
  }

  .navbar-mobile-actions .color-mode-mobile{
    position:relative !important;
    top:0 !important;
    transform:none !important;
    line-height:1 !important;
  }

  .navbar-mobile-actions .color-mode-mobile .color-mode-icon{
    position:relative !important;
    inset:auto !important;
    right:auto !important;
    top:auto !important;
    left:auto !important;
    transform:none !important;
    line-height:1 !important;
  }

  .navbar-mobile-actions .color-mode-mobile .color-mode-icon:after{
    position:absolute !important;
    top:50% !important;
    left:50% !important;
    transform:translate(-50%, -50%) !important;
    font-size:22px !important;
    line-height:1 !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){
  .pl-smart-navbar .container{
    align-items:center !important;
  }

  .navbar-mobile-actions{
    height:36px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
  }

  .navbar-mobile-actions .language-selector-mobile,
  .navbar-mobile-actions .language-select-toggle-mobile,
  .navbar-mobile-actions .color-mode-mobile,
  .pl-smart-navbar .navbar-toggler{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
    max-width:36px !important;
    max-height:36px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    align-self:center !important;
    padding:0 !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    line-height:1 !important;
  }

  .navbar-mobile-actions .language-select-toggle-mobile .language-select-current-img{
    width:22px !important;
    height:22px !important;
    display:block !important;
  }

  .navbar-mobile-actions .color-mode-mobile{
    position:relative !important;
    top:0 !important;
    transform:none !important;
  }

  .navbar-mobile-actions .color-mode-mobile .color-mode-icon{
    position:relative !important;
    inset:auto !important;
    right:auto !important;
    top:auto !important;
    left:auto !important;
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    min-height:30px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important;
    transform:translateY(2px) !important;
  }

  .navbar-mobile-actions .color-mode-mobile .color-mode-icon:after{
    position:static !important;
    top:auto !important;
    left:auto !important;
    transform:none !important;
    font-family:'unicons' !important;
    content:'\ea9f' !important;
    font-size:24px !important;
    font-weight:300 !important;
    font-style:normal !important;
    line-height:1 !important;
  }

  .navbar-mobile-actions .color-mode-mobile .color-mode-icon.active:after{
    font-family:'unicons' !important;
    content:'\eb65' !important;
    font-size:24px !important;
    font-weight:300 !important;
    font-style:normal !important;
    line-height:1 !important;
    color:#ffffff !important;
  }

  .pl-smart-navbar .navbar-toggler{
    position:relative !important;
    top:0 !important;
    transform:none !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){
  #methodology .process-visual,
  #methodology .process-card-visual,
  #methodology .process-card-stack,
  #methodology .process-stack,
  #methodology .methodology-card-visual,
  #methodology .methodology-visual{
    margin-left:auto !important;
    margin-right:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }

  #methodology .process-visual,
  #methodology .process-card-visual,
  #methodology .methodology-card-visual,
  #methodology .methodology-visual{
    width:100% !important;
    min-height:260px !important;
  }

  #methodology .process-card-stack,
  #methodology .process-stack{
    position:relative !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%, -50%) !important;
    transform-origin:center center !important;
  }

  #methodology .process-card-stack img,
  #methodology .process-stack img,
  #methodology .process-visual img,
  #methodology .process-card-visual img,
  #methodology .methodology-card-visual img,
  #methodology .methodology-visual img{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){
  #methodology .process-horizontal-panel__media.process-card-swiper{
    display:grid !important;
    place-items:center !important;
    align-items:center !important;
    justify-items:center !important;
    align-self:center !important;
    justify-self:center !important;
    width:min(60vw, 248px) !important;
    height:min(60vw, 248px) !important;
    min-height:min(60vw, 248px) !important;
    max-height:none !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    transform:none !important;
    overflow:visible !important;
  }

  #methodology .process-horizontal-panel__media.process-card-swiper .card-groups{
    position:relative !important;
    display:grid !important;
    place-items:center !important;
    align-self:center !important;
    justify-self:center !important;
    margin:auto !important;
    left:auto !important;
    top:auto !important;
    transform:translateX(3%) !important;
  }

  #methodology .process-horizontal-panel__media.process-card-swiper .card-group{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%, -50%) !important;
    transform-origin:center center !important;
  }
}

@media (max-width: 767px), (hover: none) and (pointer: coarse){
  #methodology .process-horizontal-panel__media.process-card-swiper .card-group{
    top:calc(50% + 28px) !important;
  }
}

@media (min-width: 992px){
  #methodology .process-horizontal-panel__inner{
    width:min(1280px, calc(100% - 96px)) !important;
    grid-template-columns:minmax(0, .74fr) minmax(420px, .74fr) !important;
    gap:clamp(34px, 4.2vw, 76px) !important;
    padding-left:clamp(72px, 6vw, 118px) !important;
    padding-right:clamp(72px, 6vw, 118px) !important;
    justify-content:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  #methodology .process-horizontal-panel__copy{
    justify-self:center !important;
    max-width:560px !important;
    width:100% !important;
    transform:translateX(clamp(8px, 1.6vw, 26px)) !important;
  }

  #methodology .process-horizontal-panel__media,
  #methodology .process-horizontal-panel__media:hover{
    justify-self:center !important;
    width:min(600px, 100%) !important;
    transform:none !important;
  }

  #methodology .process-horizontal-panel__number{
    margin-left:0 !important;
  }
}

@media (min-width: 992px){
  #methodology .process-horizontal-panel__media.process-card-swiper{
    width:min(480px, 100%) !important;
    transform:translateX(14px) !important;
    transform-origin:center center !important;
  }

  #methodology .process-horizontal-panel__media.process-card-swiper .card-groups{
    transform:translateX(14px) scale(.8) !important;
    transform-origin:center center !important;
  }
}

.project-meta-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 18px;
}

.project-meta-row .project-status{
  margin:0;
}

.project-data-year{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  line-height:1;
  color:#9b1c68;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(255, 92, 180, .20) 0,
      rgba(255, 92, 180, .20) 6px,
      rgba(255, 255, 255, .18) 6px,
      rgba(255, 255, 255, .18) 12px
    ),
    rgba(255, 92, 180, .12);
  border:1px solid rgba(255, 92, 180, .32);
}

.project-data-label{
  font-weight:600;
  font-size:11px;
  letter-spacing:.03em;
  text-transform:uppercase;
  opacity:.72;
}

.project-data-value{
  font-weight:900;
  font-size:13px;
  letter-spacing:.02em;
}

.dark-mode .project-data-year{
  color:#ffd6ec;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(255, 92, 180, .22) 0,
      rgba(255, 92, 180, .22) 6px,
      rgba(255, 255, 255, .07) 6px,
      rgba(255, 255, 255, .07) 12px
    ),
    rgba(255, 92, 180, .13);
  border-color:rgba(255, 92, 180, .38);
}

@media (max-width: 767px){
  .project-meta-row{
    gap:7px;
    margin-bottom:16px;
  }

  .project-data-year{
    padding:6px 9px;
    font-size:12px;
  }

  .project-data-value{
    font-size:12px;
  }
}

.project-meta-row{
  align-items:center !important;
}

.project-meta-row .project-status,
.project-meta-row .project-data-year{
  min-height:28px !important;
  height:28px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  vertical-align:middle !important;
}

.project-meta-row .project-data-year{
  padding:0 11px !important;
  gap:6px !important;
}

.project-meta-row .project-data-label{
  text-transform:none !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.01em !important;
}

.project-meta-row .project-data-value{
  font-size:13px !important;
  line-height:1 !important;
}

@media (max-width: 767px){
  .project-meta-row .project-status,
  .project-meta-row .project-data-year{
    min-height:27px !important;
    height:27px !important;
  }

  .project-meta-row .project-data-year{
    padding:0 10px !important;
  }

  .project-meta-row .project-data-label{
    font-size:11px !important;
  }

  .project-meta-row .project-data-value{
    font-size:12px !important;
  }
}

#projects .project-meta-row{
  display:flex !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  gap:9px !important;
  margin:0 0 18px !important;
  line-height:1 !important;
}

#projects .project-meta-row .project-status,
#projects .project-meta-row .project-data-year{
  box-sizing:border-box !important;
  height:26px !important;
  min-height:26px !important;
  max-height:26px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:center !important;
  margin:0 !important;
  padding:0 10px !important;
  line-height:1 !important;
  vertical-align:top !important;
  transform:none !important;
}

#projects .project-meta-row .project-data-year{
  gap:6px !important;
}

#projects .project-meta-row .project-data-label,
#projects .project-meta-row .project-data-value{
  display:inline-flex !important;
  align-items:center !important;
  height:100% !important;
  line-height:1 !important;
  margin:0 !important;
  padding:0 !important;
}

#projects .project-meta-row .project-data-label{
  text-transform:none !important;
  font-size:12px !important;
  letter-spacing:0 !important;
}

#projects .project-meta-row .project-data-value{
  font-size:13px !important;
}

@media (max-width: 767px){
  #projects .project-meta-row{
    gap:8px !important;
    margin-bottom:16px !important;
  }

  #projects .project-meta-row .project-status,
  #projects .project-meta-row .project-data-year{
    height:25px !important;
    min-height:25px !important;
    max-height:25px !important;
    padding:0 9px !important;
  }

  #projects .project-meta-row .project-data-label{
    font-size:11px !important;
  }

  #projects .project-meta-row .project-data-value{
    font-size:12px !important;
  }
}

@media (max-width: 767px){
  #projects .project-meta-row{
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:7px !important;
  }

  #projects .project-meta-row .project-status,
  #projects .project-meta-row .project-data-year{
    width:max-content !important;
    max-width:100% !important;
    align-self:flex-start !important;
  }
}

.github-project-card.project-card-detail-ready .project-image-link{
  position:relative;
}

.github-project-card.project-card-detail-ready .project-detail-hover-cue{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#ffffff;
  background:rgba(8,9,10,.62);
  backdrop-filter:grayscale(1) saturate(.65) blur(1.5px);
  -webkit-backdrop-filter:grayscale(1) saturate(.65) blur(1.5px);
  opacity:0;
  transform:scale(1.015);
  transition:opacity .28s ease, transform .28s ease;
  pointer-events:none;
}

.github-project-card.project-card-detail-ready .project-detail-hover-plus{
  width:68px;
  height:68px;
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#111111;
  background:#ffc200;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:46px;
  font-weight:900;
  line-height:1;
  box-shadow:0 18px 42px rgba(0,0,0,.34);
}

.github-project-card.project-card-detail-ready .project-detail-hover-text{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 14px;
  border-radius:999px;
  color:#ffffff;
  background:rgba(0,0,0,.52);
  border:1px solid rgba(255,255,255,.18);
  font-size:13px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.github-project-card.project-card-detail-ready:hover .project-detail-hover-cue,
.github-project-card.project-card-detail-ready:focus-within .project-detail-hover-cue{
  opacity:1;
  transform:scale(1);
}

.github-project-card.project-card-detail-ready:hover .project-image-link img,
.github-project-card.project-card-detail-ready:focus-within .project-image-link img{
  filter:grayscale(.78) contrast(1.04) brightness(.74);
}

@media (hover:none), (pointer:coarse){
  .github-project-card.project-card-detail-ready .project-detail-hover-cue{
    inset:auto 12px 12px 12px;
    min-height:58px;
    flex-direction:row;
    gap:10px;
    border-radius:999px;
    background:rgba(8,9,10,.72);
    backdrop-filter:grayscale(1) saturate(.75) blur(2px);
    -webkit-backdrop-filter:grayscale(1) saturate(.75) blur(2px);
  }

  .github-project-card.project-card-detail-ready:active .project-detail-hover-cue,
  .github-project-card.project-card-detail-ready:focus-within .project-detail-hover-cue{
    opacity:1;
    transform:none;
  }

  .github-project-card.project-card-detail-ready .project-detail-hover-plus{
    width:40px;
    height:40px;
    font-size:28px;
    box-shadow:0 10px 24px rgba(0,0,0,.3);
  }

  .github-project-card.project-card-detail-ready .project-detail-hover-text{
    min-height:28px;
    padding:0 4px 0 0;
    background:transparent;
    border:0;
    font-size:12px;
    letter-spacing:.03em;
  }
}

/* Home projects · magnetic hover bar */
#projects .github-project-card.project-hover-magnetic .project-image-link{
  position:relative;
  overflow:hidden;
}

#projects .github-project-card.project-hover-magnetic .project-detail-hover-cue{
  display:none;
}

#projects .github-project-card.project-hover-magnetic .project-hover-layer{
  position:absolute;
  inset:0;
  z-index:20;
  pointer-events:none;
}

#projects .github-project-card.project-hover-magnetic .project-hover-layer::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:rgba(4,5,7,.28);
  opacity:0;
  transition:opacity .35s ease;
}

#projects .github-project-card.project-hover-magnetic:hover .project-hover-layer::before,
#projects .github-project-card.project-hover-magnetic:focus-within .project-hover-layer::before{
  opacity:1;
}

#projects .github-project-card.project-hover-magnetic .project-magnetic-bar{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border-radius:16px;
  background:linear-gradient(90deg,#ffd21d,#ffb400);
  color:#111;
  font-weight:900;
  overflow:hidden;
  transform:translateY(140%);
  transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease;
  box-shadow:0 16px 30px rgba(0,0,0,.3);
}

#projects .github-project-card.project-hover-magnetic:hover .project-magnetic-bar,
#projects .github-project-card.project-hover-magnetic:focus-within .project-magnetic-bar{
  transform:translateY(0);
}

#projects .github-project-card.project-hover-magnetic .project-magnetic-bar span{
  position:relative;
  z-index:2;
}

#projects .github-project-card.project-hover-magnetic .project-magnetic-bar b{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  min-width:32px;
  border-radius:50%;
  background:#111;
  color:#ffd21d;
  font-size:1.45rem;
  font-weight:900;
  line-height:1;
  transition:transform .32s cubic-bezier(.2,.8,.2,1),background .32s ease,color .32s ease;
}

#projects .github-project-card.project-hover-magnetic:hover .project-magnetic-bar b,
#projects .github-project-card.project-hover-magnetic:focus-within .project-magnetic-bar b{
  transform:rotate(90deg) scale(1.04);
  background:#080907;
  color:#ffd21d;
}

#projects .github-project-card.project-hover-magnetic .project-magnetic-bar::before{
  content:"";
  position:absolute;
  top:-40%;
  bottom:-40%;
  left:-40%;
  z-index:1;
  width:34%;
  background:linear-gradient(to right,transparent,rgba(255,255,255,.65),transparent);
  transform:skewX(-22deg);
  pointer-events:none;
}

#projects .github-project-card.project-hover-magnetic:hover .project-magnetic-bar::before,
#projects .github-project-card.project-hover-magnetic:focus-within .project-magnetic-bar::before{
  animation:projectMagneticBarShine 950ms ease;
}

@keyframes projectMagneticBarShine{
  100%{left:130%;}
}

@media (hover:none), (pointer:coarse){
  #projects .github-project-card.project-hover-magnetic:active .project-hover-layer::before,
  #projects .github-project-card.project-hover-magnetic:focus-within .project-hover-layer::before{
    opacity:1;
  }

  #projects .github-project-card.project-hover-magnetic:active .project-magnetic-bar,
  #projects .github-project-card.project-hover-magnetic:focus-within .project-magnetic-bar{
    transform:translateY(0);
  }
}

@media (prefers-reduced-motion:reduce){
  #projects .github-project-card.project-hover-magnetic .project-magnetic-bar,
  #projects .github-project-card.project-hover-magnetic .project-magnetic-bar b{
    transition:none;
  }

  #projects .github-project-card.project-hover-magnetic:hover .project-magnetic-bar::before,
  #projects .github-project-card.project-hover-magnetic:focus-within .project-magnetic-bar::before{
    animation:none;
  }
}
