@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap');

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  min-height: 100dvh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
* {
  font: inherit;
}

/* Button Hover Cursor */
button{
    cursor: url('cursor-pointer.svg'), pointer;
}

button,
input,
textarea {
    outline: none;
    border: none;
}

button:focus,
button:active,
input:focus,
textarea:focus {
    /*outline: none !important;
    border: none !important;*/
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
   scroll-behavior: smooth;
  }
  
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Colours By Their HEX */
/*  Neutral: #;
    Light: #;
    Dark: #;
*/

/* Root Elements */
:root{
    --ff-main: "Nunito Sans", system-ui;
    
    --fw-bold: 900;
    --fw-semi-bold: 700;
    --fw-normal-bolder: 600;
    --fw-normal: 400;
    --fw-light: 200;

    --fs-main: clamp(.8em, 4vw, 1.2em);
    --fs-h1: clamp(3.2em, 10vw, 3.7em);
    --fs-h2: clamp(2.7em, 4vw, 3.2em);
    --fs-h3: clamp(2.4em, 4vw, 2.7em);
    --fs-h4: clamp(2em, 4vw, 2.4em);
    --fs-h5: clamp(1.6em, 4vw, 2em);
    --fs-h6: clamp(1em, 4vw, 1.6em);

    --fs-larger: clamp(2em, 10vw, 3em);
    --fs-xl: clamp(1.7em, 4vw, 2em);
    --fs-l: clamp(1.4em, 4vw, 1.7em);
    --fs-m: clamp(1.2em, 4vw, 1.5em);
    --fs-mm: clamp(1em, 4vw, 1.3em);
    --fs-sm: clamp(.8em, 4vw, 1.2em);
    --fs-s: clamp(.6em, 4vw, 1em);
    --fs-ms: clamp(.7em, 4vw, .9em);
    --fs-xs: clamp(.6em, 4vw, .8em);

    --clr-light: hsl(206, 31%, 90%);
    --clr-dark: hsl(0, 0%, 12%);
    --clr-gray-primary: hsl(0, 0%, 17%);
    --clr-gray-secondary: hsl(0, 0%, 34%);

    --clr-accent: hsl(41, 80%, 68%);

    --clr-accent-lighter: hsl(41, 80%, 73%);
    --clr-accent-darker: hsl(41, 80%, 63%);

    --gradient-primary-y: ;
    --gradient-primary-x: ;

    --txt-gradient-primary: var(--clr-accent-400), var(--clr-accent-100);
    --txt-gradient-secondary: var(--clr-light), var(--clr-gray-secondary);

    --clr-background: var(--clr-dark);
    --clr-glowing-neon: var(--clr-light);

    --clr-btn: var(--clr-accent);
    --clr-btn-hover: var(--clr-accent-400);

    /*Fast Shadows */
    --clr-rgba-gray-much-darker-opacity: rgba(48, 48, 48, 0.9); 
    --clr-rgba-gray-darker-opacity: rgba(48, 48, 48, 0.8); 
    --clr-rgba-gray-much-darker: rgba(0,0,0,0.50); 
    --clr-rgba-gray-med-darker: rgba(0,0,0,0.40); 
    --clr-rgba-gray-darker: rgba(0,0,0,0.20); 
    --clr-rgba-gray: rgba(0,0,0,0.15);
    --clr-rgba-gray-soft: rgba(0,0,0,0.10);
    --clr-rgba-gray-softer: rgba(0,0,0,0.05);
    --clr-gray: hsl(0, 0%, 34%);
    --clr-gray-softer: hsl(0, 0%, 40%);
    --clr-gray-much-softer: hsl(0, 0%, 90%);
    
    --clr-accent-100: #F4D79A;
    --clr-accent-200: #F1CE83;
    --clr-accent-300: #EFC56C;
    --clr-accent-400: #ECBC55;
    --clr-accent-500: #E9B33E;
    --clr-accent-600: #E9B33E;
    --clr-accent-700: #E7AA27;
    --clr-accent-800: #DC9E19;

    --clr-success: hsl(120, 100%, 34%);
    --clr-fail: hsl(0, 100%, 50%);

    --border-radius-main: 1.25em;
    --border-radius-btn: ;
}

/* Header Texts */
h1{ font-size: var(--fs-h1); font-weight: var(--fw-semi-bold);}
h2{ font-size: var(--fs-h2); font-weight: var(--fw-semi-bold);}
h3{ font-size: var(--fs-h3); font-weight: var(--fw-semi-bold);}
h4{ font-size: var(--fs-h4); font-weight: var(--fw-semi-bold);}
h5{ font-size: var(--fs-h5); font-weight: var(--fw-semi-bold);}
h6{ font-size: var(--fs-h6); font-weight: var(--fw-semi-bold);}

/* Button Styling */
button:not(.transparent-btn, .hamburger-menu),
button:not(.transparent-btn, .hamburger-menu)[type="submit"],
button:not(.transparent-btn, .hamburger-menu)[type="button"],
input:not(.transparent-btn, .hamburger-menu)[type="button"],
input:not(.transparent-btn, .hamburger-menu)[type="submit"]{
    position: relative;
    overflow: hidden;
    padding: .5em 1.3em;
    cursor: url('cursor-pointer.svg'), pointer;
    transition: .3s;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .7em;
    font-weight: var(--fw-normal-bolder);
    background: var(--clr-accent);
    font-size: var(--fs-main);
    border-radius: var(--border-radius-btn);
    color: var(--clr-dark);
}

/* Button Hover */
button:not(.transparent-btn, .cardChangeBtn, .cardChangeBtn, .hamburger-menu):is(:hover,:focus-visible),
button:not(.transparent-btn, .cardChangeBtn, .cardChangeBtn, .hamburger-menu)[type="submit"]:is(:hover,:focus-visible),
button:not(.transparent-btn, .cardChangeBtn, .cardChangeBtn, .hamburger-menu)[type="button"]:is(:hover,:focus-visible),
input:not(.transparent-btn, .cardChangeBtn, .cardChangeBtn, .hamburger-menu)[type="button"]:is(:hover,:focus-visible),
input:not(.transparent-btn, .cardChangeBtn, .cardChangeBtn, .hamburger-menu)[type="submit"]:is(:hover,:focus-visible){
  background-color: var(--clr-accent-500);
  border-radius: 5px;
}

/* Input Styling */
input:not([type="button"], [type="submit"]),
textarea{
  display: flex;
  justify-content: start;
  align-items: center;
  resize: none;
  caret-color: var(--clr-accent);
  padding: .3em .6em;;
  background-color: var(--clr-dark);
  border: 2px solid var(--clr-gray-primary);
  border-radius: 7px;
  color: var(--clr-light);
  transition: .3s;
}

/* Input Hover */
input:not([type="button"], [type="submit"]):is(:focus,:focus-visible),
textarea:is(:focus,:focus-visible){
  border-color: var(--clr-accent-100);
}

input:not([type="button"], [type="submit"]):user-valid,
textarea:user-valid{
  border-color: var(--clr-gray-secondary);
}

input:not([type="button"], [type="submit"]):user-invalid,
textarea:user-invalid{
  border-color: var(--clr-fail);
}

/* Input's Placeholder while its active */
input:not([type="button"], [type="submit"]):is(:focus,:focus-visible)::placeholder,
textarea:is(:focus,:focus-visible)::placeholder{
  transition: .3s;
}

input:not([type="button"], [type="submit"]):is(:focus,:focus-visible)::placeholder,
textarea:is(:focus,:focus-visible)::placeholder{
    color: ;
    opacity: .4;
}

/* Custom Checkbox */
input[type="checkbox"],
input[type="radio"]{
  accent-color: var(--clr-accent);
}

/* Input Block */
.input-block{
    display: grid;
    place-items: start;
    gap: .2em;
}

.input-block label{
    color: var(--clr-light);
}

/* loader */
.loader-bg{
    position: fixed;
    inset: 0;
    z-index: 1000000;
    min-width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    display: grid;
    place-items: center;
    background-color: var(--clr-dark);
}

.loader {
  border: 24px solid;
  border-color: rgba(244, 215, 154, 0.15) rgba(241, 206, 131, 0.25) rgba(239, 197, 108, 0.35) rgba(236, 188, 85, 0.5);
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: animloader 1s linear infinite;
}

@keyframes animloader {
  0% {
    border-color: rgba(244, 215, 154, 0.15) rgba(241, 206, 131, 0.25) rgba(239, 197, 108, 0.35) rgba(236, 188, 85, 0.75);
  }
  33% {
    border-color: rgba(236, 188, 85, 0.75) rgba(244, 215, 154, 0.15) rgba(241, 206, 131, 0.25) rgba(239, 197, 108, 0.35);
  }
  66% {
    border-color: rgba(239, 197, 108, 0.35) rgba(236, 188, 85, 0.75) rgba(244, 215, 154, 0.15) rgba(241, 206, 131, 0.25);
  }
  100% {
    border-color: rgba(241, 206, 131, 0.25) rgba(239, 197, 108, 0.35) rgba(236, 188, 85, 0.75) rgba(244, 215, 154, 0.15);
  }
}




/* Scroll Bar */
@supports(scrollbar-color: red blue){
    *{
        scrollbar-color: var(--clr-accent) var(--clr-dark);
        scrollbar-width: thin;
    }
}

/* Selection Color */
::selection{
    background-color: var(--clr-accent);
}

.min-width-100{
  min-width: 100%;
}

.width-100{
    width: 100%;
}

/* Fast Layouts */
.flex{
    display: flex;
    align-items: center;
}

.flex-space{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.flex-center{
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex-around{
    display: flex;
    align-items: center;
    justify-content: space-around;
}

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

.align-top-self{
    align-self: start;
}

.grid{
    display: grid;
}

.grid-center{
    display: grid;
    place-items: center;
}

.center-item{
    margin-inline: auto ;
    justify-self: center;
}

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

/* Custom Cursor (Pointer) */
.cursor{
    cursor: url('cursor-pointer.svg'), pointer;
}

/* Font Weights */
.fw-bold { font-weight: var(--fw-bold); }
.fw-semi-bold { font-weight: var(--fw-semi-bold); }
.fw-normal-bolder { font-weight: var(--fw-normal-bolder); }
.fw-normal { font-weight: var(--fw-normal); }
.fw-light { font-weight: var(--fw-light); }

/* Gaps */
.gap-30  {    gap: .3em;   }
.gap-50  {    gap: .5em;   }
.gap-70  {    gap: .7em;   }
.gap-100 {    gap: 1em;    }
.gap-120 {    gap: 1.2em;    }
.gap-150 {    gap: 1.5em;  }
.gap-200 {    gap: 2em;    }
.gap-250 {    gap: 2.5em;  }
.gap-300 {    gap: 3em;    }
.gap-350 {    gap: 3.5em;  }
.gap-400 {    gap: 4em;    }
.gap-450 {    gap: 4.5em;  }
.gap-500 {    gap: 5em;    }

/* Paddings */
.padding-50  { padding: .5em; }
.padding-100 { padding: 1em; }
.padding-150 { padding: 1.5em; }
.padding-200 { padding: 2em; }
.padding-250 { padding: 2.5em; }
.padding-300 { padding: 3em; }
.padding-350 { padding: 3.5em; }
.padding-400 { padding: 4em; }
.padding-450 { padding: 4.5em; }
.padding-500 { padding: 5em; }

.padding-inline-50  { padding-inline: .5em; }
.padding-inline-100 { padding-inline: 1em; }
.padding-inline-150 { padding-inline: 1.5em; }
.padding-inline-200 { padding-inline: 2em; }
.padding-inline-250 { padding-inline: 2.5em; }
.padding-inline-300 { padding-inline: 3em; }
.padding-inline-350 { padding-inline: 3.5em; }
.padding-inline-400 { padding-inline: 4em; }
.padding-inline-450 { padding-inline: 4.5em; }
.padding-inline-500 { padding-inline: 5em; }

.padding-block-50  { padding-block: .5em; }
.padding-block-100 { padding-block: 1em; }
.padding-block-150 { padding-block: 1.5em; }
.padding-block-200 { padding-block: 2em; }
.padding-block-250 { padding-block: 2.5em; }
.padding-block-300 { padding-block: 3em; }
.padding-block-350 { padding-block: 3.5em; }
.padding-block-400 { padding-block: 4em; }
.padding-block-450 { padding-block: 4.5em; }
.padding-block-500 { padding-block: 5em; }


.color-dark{
    color: var(--clr-dark);
}

.color-accent{
    color: var(--clr-accent);
}

.color-accent-hover:is(:hover, :focus-visible){
    color: var(--clr-accent);
}

.transition{
    transition: .3s;
}

a{
    text-decoration: none;
    cursor: url('cursor-pointer.svg'), pointer;
}

.limited-svg{
    max-width: 100%;
}

.transparent-btn{
    background-color: transparent;
    padding: .3em 1em;
    outline: 0;
    border: 0;
}

.loader-bg{
    position: fixed;
    inset: 0;
    z-index: 999999;
}

.primary-gradient-text{  
  max-width: fit-content;
  background-image: linear-gradient(to right, var(--txt-gradient-primary));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 100%;
}

.secondary-gradient-text{ 
  max-width: fit-content;
  background-image: linear-gradient(to bottom, var(--txt-gradient-secondary));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 100%;
}

.opacity-60{
  opacity: .6;
}

/*-------------------------------------------------------- SCROLL ANIMATIONS --------------------------------------------------------*/
/*Text*/
.text-transition{ transition: .5s; }
.text-transition-longer{ transition: 1s; }

.add-text-animation{
  transform: translateY(-5px) !important;
  opacity: 0 !important;
}

.add-text-animation.text-animation{
  transform: translateY(0) !important;
  opacity: 1 !important;
}


/*Opacity*/
.opacity-transition { transition: .5s ;}

.add-opacity-animation{
  opacity: 0 !important;
}

.add-opacity-animation.opacity-animation{
  opacity: 1 !important;
}


/*x-toLeft*/
.x-toLeft-transition { transition: 1s ;}

.add-x-toLeft-animation{
  transform: translateX(-10px) !important;
  opacity: 0 !important;
}

.add-x-toLeft-animation.x-toLeft-animation{
  transform: translateX(0) !important;
  opacity: 1 !important;
}


/*x-toRight*/
.x-toRight-transition { transition: 1s ;}

.add-x-toRight-animation{
  transform: translateX(10px) !important;
  opacity: 0 !important;
}

.add-x-toRight-animation.x-toRight-animation{
  transform: translateX(0) !important;
  opacity: 1 !important;
}


/*scale*/
.scale-transition { transition: .5s ;}

.add-scale-animation{
  scale: 0 !important;
  opacity: 0 !important;
}

.add-scale-animation.scale-animation{
  scale: 1 !important;
  opacity: 1 !important;
}

@media screen and (max-width: 1000px){

    .add-scale-animation{
      scale: .9 !important;
      opacity: .9 !important;
    }

    .add-scale-animation.scale-animation{
      scale: 1 !important;
      opacity: 1 !important;
    
    }  
}

.SEO-tag{
  position: fixed;
  top: 0;
  right: 0;
  z-index: -55;
  opacity: 0;
  pointer-events: none;
}



/* Page Styling */
body{
  cursor: url('cursor.svg'), auto;
  font-family: var(--ff-main);
  font-size: var(--fs-main);
  font-weight: var(--fw-normal);
  background-color: var(--clr-dark);
  color: var(--clr-light);
  max-height: 100vh;
  max-height: 100dvh;
  overflow-y: hidden;
}

body.scrollable-body{
  max-height: auto;
  overflow-y: auto;
}

main section:not(.no-padding-section){
  padding-block: 8em;
}

header{
  width: fit-content;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  border-radius: var(--border-radius-main);
  top: 1.5em;
  background-color: var(--clr-gray-primary);
  padding-inline: 1.5em;
  z-index: 999;
  opacity: 1;
  visibility: visible;
  transition: .3s;
}

header.hide-header{
  visibility: hidden;
  opacity: 0;
  top: .5em;
}

header.highlight-header{
  box-shadow: var(--clr-rgba-gray) 0 2px 5px 1px;
}

header a{
  position: relative;
  padding: 1em 1.5em;
  display: grid;
  place-items: center;
}

header a p{
  position: absolute;
  bottom: -2.5em;
  background-color: var(--clr-gray-primary);
  border-radius: 7px;
  padding: .3em .7em;
  color: var(--clr-light);
  opacity: 0;
  scale: 0;
}

header a:nth-child(2) p,
header a:nth-child(3) p{
  min-width: 10ch;
}

header a:is(:hover, :focus-visible) p{
  opacity: 1;
  scale: 1;
}
/*
header svg{
  transition: .3s;
  fill: var(--clr-gray-primary);
}

header a:is(:hover, :focus-visible) svg{
  fill: #fff !important ;
}*/

/* ------------------------------------------------------- INDEX PAGE ------------------------------------------------*/
section.page-start-section{
  display: grid;
  place-items: center;
  min-height: 100vh;
  min-height: 100dvh;
}

section.page-start-section .page-start-text p{
  font-size: var(--fs-sm);
  opacity: .6;
  z-index: 1;
}

section.page-start-section .page-start-text h1{
  position: relative;
  --fs-larger: clamp(2em, 10vw, 5em);
  font-weight: var(--fw-semi-bold);
  font-size: var(--fs-larger);
  z-index: 1;
}

section.page-start-section .page-start-text h1::before{
  content: '  ';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--clr-glowing-neon);
  width: 3em;
  height: 1em;
  filter: blur(300px);
  opacity: .25;
  border-radius: 100vw;
  z-index: 0;
  animation: startTxtGlow 5s infinite;
}

@keyframes startTxtGlow {
  0%{
    opacity: .25;
  }

  50%{
    opacity: .15;
  }

  100%{
    opacity: .25;
  }
}



section.three-layout-section{
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  padding-block: 1em;
  border-block: 2px solid var(--clr-accent-100);
}

section.three-layout-section .layout{
  color: var(--clr-accent-100);
  min-width: 327px;
  display: flex;
  justify-content: center;
}

section.three-layout-section .layout p{
  font-weight: var(--fw-semi-bold);
  font-size: var(--fs-sm);
}

@media screen and (max-width: 1000px){
  section.three-layout-section{
    padding-block: 1.5em;
    flex-direction: column;
    gap: 1.5em;
  }

  section.three-layout-section .layout{
    justify-content: start;
  }
}



section.about-me-section{
  position: relative !important;
  width: 1230px;
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  align-items: start;
  padding-block: 15em 8em !important;
  max-width:  95vw;
}

section.about-me-section .about-me-block{
  width: 50%;
  min-height: 2067px;
}

section.about-me-section .about-me-card{
  position: sticky;
  top: 1em;
  background-color: var(--clr-gray-primary);
  border-radius: 30px;
  width: fit-content;
  margin-inline: auto;
  padding: 1em;
  gap: 2em;
  overflow: hidden;
  display: grid;
  place-items: space-between;
}

section.about-me-section .about-me-card::before{
  content: '';
  position: absolute;
  top: -4em;
  left: -10em;
  width: 25em;
  height: 34em;
  border-radius: 100vw;
  border: 1px solid var(--clr-accent-400);
  z-index: 0;
}

section.about-me-section .about-me-card::after{
  content: '';
  position: absolute;
  bottom: -16.5em;
  right: -15.5em;
  width: 25em;
  height: 25em;
  border-radius: 100vw;
  border: 1px solid var(--clr-accent-400);
  z-index: 0;
}

section.about-me-section .about-me-card .about-me-card-top h2{
  font-size: var(--fs-l);
  color: var(--clr-accent-400);
  z-index: 1;
  background-color: var(--clr-gray-primary);
}

section.about-me-section .about-me-card .about-me-card-top img{
  border-radius: var(--border-radius-main);
  width: 350px;
  z-index: 1;
  object-fit: cover;
  filter: brightness(80%);
}

@media screen and (max-width: 1030px){
  section.about-me-section{
    flex-direction: column-reverse;
    gap: 5em;
  }

  section.about-me-section .about-me-block{
    width: 100%;
    min-height: fit-content;
  }

  section.about-me-section .about-me-info-area{
    display: grid;
    place-items: center;
  }

  section.about-me-section .about-me-card{
    position: relative;
    margin-inline: auto;
  }

  section.about-me-section .about-me-info-area article.about-me-info-area-block p{
    max-width: 460px;
  }
}

@media screen and (max-width: 534px){
  section.about-me-section .about-me-info-area article.about-me-info-area-block p{
    max-width: 85vw !important;
  }
}

@media screen and (max-height: 735px) {
  section.about-me-section .about-me-card .about-me-card-top img{
    max-height: 430px !important;
  }
}

@media screen and (max-height: 695px){
  section.about-me-section .about-me-card .about-me-card-top img{
    max-height: 400px !important;
  }
}

@media screen and (max-height: 660px){
  section.about-me-section .about-me-card .about-me-card-top img{
    max-height: 380px !important;
  }
}

@media screen and (max-height: 640px){
  section.about-me-section .about-me-card .about-me-card-top img{
    max-height: 360px !important;
  }
}

@media screen and (max-height: 625px){
  section.about-me-section .about-me-card .about-me-card-top img{
    max-height: 340px !important;
  }
}

@media screen and (max-height: 605px){
  section.about-me-section .about-me-card .about-me-card-top img{
    max-height: 320px !important;
  }
}

@media screen and (max-height: 588px){
  section.about-me-section .about-me-card .about-me-card-top img{
    max-height: 300px !important;
  }
}

@media screen and (max-height: 570px){
  section.about-me-section .about-me-card .about-me-card-top img{
    max-height: 280px !important;
  }
}

@media screen and (max-height: 550px){
  section.about-me-section .about-me-card .about-me-card-top img{
    max-height: 260px !important;
  }
}

@media screen and (max-height: 525px){
  section.about-me-section .about-me-card .about-me-card-top img{
    max-height: 240px !important;
  }
}

@media screen and (max-height: 510px){
  section.about-me-section .about-me-card .about-me-card-top img{
    max-height: 220px !important;
  }
}

@media screen and (max-height: 485px){
  section.about-me-section .about-me-card .about-me-card-top img{
    max-height: 200px !important;
  }
}

@media screen and (max-height: 465px){
  section.about-me-section .about-me-card{
    gap: 1em;
  }
}

section.about-me-section .about-me-card .about-me-card-top{
  gap: .7em;
}

section.about-me-section .about-me-card .about-me-card-bottom .aboutMeCardSkills{
  background-color: var(--clr-gray-primary);
  padding-inline: 10px;
  z-index: 2;
}

section.about-me-section .about-me-info-area{
  display: flex;
  flex-direction: column;
  gap: 4.5em;
}

section.about-me-section .about-me-info-area article.about-me-info-area-block :is(h1,h2){
  line-height: 1.05;
}

section.about-me-section .about-me-info-area article.about-me-info-area-block h1{
  margin-bottom: .4em;
}

section.about-me-section .about-me-info-area article.about-me-info-area-block p{
  text-wrap: balance;
} 

section.about-me-section .about-me-info-area article.expertise-area .expertise-cards-grid{
  margin-top: 1em;
  grid-template-columns: repeat(2, auto);
  width: fit-content;
  gap: 1em 1.5em;
}

@media screen and (max-width: 535px){
  section.about-me-section{
    padding-inline: 1em;
  }

  section.about-me-section .about-me-info-area article.expertise-area .expertise-cards-grid{
    gap: 0 1em;
  }

  section.about-me-section .about-me-info-area article.expertise-area .expertise-cards-grid svg{
    width: 10em;
  }
}

@media screen and (max-width: 485px){
  section.about-me-section .about-me-info-area article.expertise-area .expertise-cards-grid svg:is(:nth-child(3), :nth-child(4)){
    transform: translateY(-.3em);
  }
}

@media screen and (max-width: 460px){
  section.about-me-section .about-me-info-area article.expertise-area .expertise-cards-grid svg:is(:nth-child(3), :nth-child(4)){
    transform: translateY(-.7em);
  }
}

@media screen and (max-width: 440px){
  section.about-me-section .about-me-info-area article.expertise-area .expertise-cards-grid svg:is(:nth-child(3), :nth-child(4)){
    transform: translateY(-1em);
  }
}

@media screen and (max-width: 415px){
  section.about-me-section .about-me-info-area article.expertise-area .expertise-cards-grid svg:is(:nth-child(3), :nth-child(4)){
    transform: translateY(-1.5em);
  }
}

@media screen and (max-width: 395px){
  section.about-me-section .about-me-info-area article.expertise-area .expertise-cards-grid svg:is(:nth-child(3), :nth-child(4)){
    transform: translateY(-1.7em);
  }
}

@media screen and (max-width: 380px){
  section.about-me-section .about-me-info-area article.expertise-area .expertise-cards-grid svg:is(:nth-child(3), :nth-child(4)){
    transform: translateY(-2em);
  }
}

@media screen and (max-width: 370px){
  section.about-me-section .about-me-info-area article.expertise-area .expertise-cards-grid svg:is(:nth-child(3), :nth-child(4)){
    transform: translateY(-2.5em);
  }
}

@media screen and (max-width: 360px){
  section.about-me-section .about-me-info-area article.expertise-area .expertise-cards-grid svg:is(:nth-child(3), :nth-child(4)){
    transform: translateY(-2.7em);
  }
}

@media screen and (max-width: 350px){
  section.about-me-section .about-me-info-area article.expertise-area .expertise-cards-grid svg:is(:nth-child(3), :nth-child(4)){
    transform: translateY(-3em);
  }
}

@media screen and (max-width: 340px){
  section.about-me-section .about-me-info-area article.expertise-area .expertise-cards-grid svg:is(:nth-child(3), :nth-child(4)){
    transform: translateY(-3.5em);
  }
}

@media screen and (max-width: 330px){
  section.about-me-section .about-me-info-area article.expertise-area .expertise-cards-grid svg:is(:nth-child(3), :nth-child(4)){
    transform: translateY(-3.7em);
  }
}

section.about-me-section .about-me-info-area article.expertise-area h1{
  --fs-h1: clamp(3.2em, 11vw, 4.2em);
}

:root {
  --bg-color: rgb(20, 20, 20);
  --card-color: rgb(23, 23, 23);
}

#cards {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;  
}

#cards:hover > .card::after {
  opacity: 1;
}

.card {
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  cursor: pointer;
  display: flex;
  height: 85px;
  flex-direction: column;
  position: relative;
  width: 300px;  
}

@media screen and (max-width: 1300px){
  .card{
    width: 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 1030px){
  #cards{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}

.card:hover::before {
  opacity: 1;
}

.card::before,
.card::after {
  border-radius: inherit;
  content: "";
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 500ms;
  width: 100%;
}

.card::before {
  background: radial-gradient(
    800px circle at var(--mouse-x) var(--mouse-y), 
    rgba(255, 255, 255, 0.06),
    transparent 40%
  );
  z-index: 3;
}

.card::after {  
  background: radial-gradient(
    600px circle at var(--mouse-x) var(--mouse-y), 
    rgba(255, 255, 255, 0.4),
    transparent 40%
  );
  z-index: 1;
}

.card > .card-content {
  background-color: var(--card-color);
  border-radius: inherit;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  inset: 1px;
  position: absolute;
  z-index: 2;
}

.card-info-title{
  gap: .8em;
  max-height: fit-content;
}

.card-info-title .card-title-area h6{
  font-size: var(--fs-main);
  font-weight: var(--fw-normal);
  margin-top: 10px;
  transform: translateY(5px);
}

.card-info-title .card-title-area h6 span{
  opacity: .6;
}

.card-info-title .card-title-area p{
  font-size: var(--fs-xs);
  margin-bottom: 12px;
  opacity: .4;
  transform: translateY(-1.5px);
}

.card-info-wrapper {
  align-items: center;
  display: flex;
  flex-grow: 1;
  justify-content: flex-start;
  padding: 0px 22px;
}

.card-info {
  align-items: flex-start;
  display: flex;
  gap: 10px;
}

article.offer-area .offer-grid-area{
  margin-top: 1em;
}

article.offer-area .offer-grid-area .line-x{
  max-width: 80%;
  min-height: 1px;
  background-color: var(--clr-gray-primary);
}

article.offer-area .offer-grid-area{
  line-height: 1.2;
}

article.offer-area .offer-grid-area p.offer-title{
  color: var(--clr-accent-300);
}

article.offer-area .offer-grid-area p.offer-text{
  opacity: .6;
}

article.offer-area .offer-grid-area span{
  justify-self: right;
  margin-top: .5em;
}



section.latest-works-section{
  position: relative;
}

section.latest-works-section::before{
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: var(--clr-glowing-neon);
  width: 5em;
  height: 5em;
  filter: blur(300px);
  z-index: 0;
}

section.latest-works-section p.latestWorksTitle{
  font-size: var(--fs-main);
  font-weight: var(--fw-semi-bold);
}

section.latest-works-section .latestWorksContainer{
  position: relative;
  overflow: hidden;
  justify-content: start;
  padding-inline: 1.5em;
  height: 280px;
  user-select: none;
  z-index: 1;
}

section.latest-works-section .latestWorksContainer .work-card{
  min-width: 351px;
  border: 1px solid var(--clr-gray-secondary);
  border-radius: var(--border-radius-main);
  overflow: hidden;
  padding: .15em;
  transition: .3s;
  background-color: var(--clr-dark);
}

section.latest-works-section .latestWorksContainer .work-card:hover{
  scale: 1.02;
}

section.latest-works-section .latestWorksContainer .work-card img{
  border-radius: 20.85px;
}

section.latest-works-section .latestWorksContainer .work-card p{
  font-size: var(--fs-sm);
}

section.latest-works-section .latestWorksContainer .work-card div{
  padding-block: .5em;
}

section.latest-works-section .latestWorksContainer .work-card div button{
  padding: .2em .9em;
  font-size: var(--fs-s);
}

section.latest-works-section span{
  gap: .5ch;
}

section.latest-works-section span p{
  position: relative;
  z-index: 1;
}

section.latest-works-section span p::before{
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-35%, -50%);
  background-color: var(--clr-light);
  filter: blur(20px);
  width: 130%;
  height: 10px;
  z-index: 0;
  opacity: .3;
}



section.contact-section{
  height: fit-content;
}

section.contact-section .line-y{
  min-height: 30em;
  min-width: 1px;
  background-color: var(--clr-gray-primary);
  opacity: .8;
}

section.contact-section article{
  line-height: 1.2;
  padding: 3em 6em;
}

@media screen and (max-width: 1483px){
  section.contact-section{
    flex-direction: column;
    }

  section.contact-section article{
    padding-inline: 0;
    width: 100%;
    max-width: 90vw;
  }

  section.contact-section .line-y{
    display: none;
  }
}

section.contact-section article.contact-form-area{
  position: relative;
}

section.contact-section article.contact-form-area::before{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1px;
  height: 1px;
  box-shadow: var(--clr-glowing-neon) 0 0 200px 200px;
  opacity: .03;
  z-index: 0;
}

section.contact-section article.contact-form-area .contact-form-title{
  line-height: 1;
}

section.contact-section article.contact-form-area form{
  z-index: 1;
}

section.contact-section article.contact-form-area form textarea{
  height: 6em;
}

section.contact-section article.contact-form-area form button{
  margin-top: 1em;
}

@media screen and (max-width: 645px){
  section.contact-section article.contact-form-area form .contact-flex-inputs{
    flex-direction: column;
    width: 100%;
  }

  section.contact-section article.contact-form-area form .contact-flex-inputs .input-block{
    width: 100%;
  }

  section.contact-section article.contact-form-area form .contact-flex-inputs .input-block input{
    width: 100%;
  }
}

@media screen and (max-width: 470px){
  section.contact-section article.contact-side-area svg{
    max-width: 90vw;
  }
}