 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 body {
     background-color: #0A192F;
     margin: 0;
     line-height: 1.6;
 }

 h1 {
     color: #e6f1ff;
     font-family: "Montserrat", sans-serif;
     font-style: normal;
     font-optical-sizing: auto;
     text-align: center;
 }

 p {
     color: #8892B0;
     font-family: "Inter", sans-serif;
     font-style: normal;
     font-optical-sizing: auto;
 }

 section {
     padding: 4rem 2rem;
 }


 .navbar {
     position: fixed;
     /* pitää palkin paikallaan */
     top: 0;
     /* kiinnitys yläreunaan */
     left: 0;
     width: 100%;
     /* koko sivun leveys */
     background-color: #071421;
     padding: 10px 0;
     z-index: 1000;
     /* varmistaa että palkki on kaiken päällä */
 }

 .navbar ul {
     list-style: none;
     margin: 0;
     padding: 0;
     display: flex;
     /* horisontaalinen asettelu */
     justify-content: center;
     gap: 30px;
     align-items: center;
 }

 .navbar a {
     color: #e6f1ff;
     font-family: "Montserrat", sans-serif;
     text-decoration: none;
     font-size: 18px;
 }

 .navbar a:hover {
     text-decoration: underline;
 }

 .lang-divider {
     width: 1px;
     height: 20px;
     background: rgba(230, 241, 255, 0.25);
     margin: 0 4px;
 }

 .lang-flags {
     display: flex;
     align-items: center;
     gap: 8px;
 }

 .lang-flags a {
     font-size: 22px;
     text-decoration: none;
     opacity: 0.75;
     transition: opacity 0.15s, transform 0.15s;
 }

 .lang-flags a:hover {
     opacity: 1;
     transform: scale(1.2);
 }

 .lang-flags a.active {
     opacity: 1;
 }

 .page-title {
     margin-top: 80px;
     /* sama korkeus kuin navbar */
 }

 .container {
     max-width: 1200px;
     margin: 0 auto;
     padding: 2rem;
 }

 /* Jotta sisältö ei mene navin alle */
 .About {
     padding-top: 80px;
     text-align: center;
     display: flex;
     align-items: center;
     justify-content: center
 }

 .About h2 {
     font-size: 1.5rem;
     color: #e6f1ff;
     font-family: "Montserrat", sans-serif;
     font-weight: 500;
     margin-bottom: 2rem;

 }

 .About h3 {
     font-size: 1.3rem;
     color: #e6f1ff;
     font-family: "Inter", sans-serif;
     font-style: normal;
     font-weight: 400;
     margin-bottom: 2rem;
 }

 .About p {
     color: #8892B0;
     font-family: "Inter", sans-serif;
     font-style: normal;
     font-optical-sizing: auto;
     font-size: 1.0rem;
     max-width: 600px;
     margin: 0 auto 2rem;
 }

 .Skills {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
     margin-top: 2rem;
     gap: 2rem;
 }

 .Skills-category {
     border: 2px solid #64ffda;
     border-radius: 20px;
     padding: 0.5rem;

 }

 .Skills-category h3 {
     font-size: 1.3rem;
     color: #e6f1ff;
     font-family: "Inter", sans-serif;
     font-style: oblique;
 }

 .Skills-category ul {
     list-style: none;
 }

 .Skills-category li {
     padding: 0.5rem 0;
     border-bottom: 4px solid #071421;
     color: #8892B0;
     font-family: "Inter", sans-serif;
     font-style: normal;
     font-optical-sizing: auto;
 }

 .Skills-category li:last-child {
     border-bottom: none;
 }

 .Projects {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
     gap: 2rem;
     margin-top: 2rem;
 }

 .Project-cards {
     border-radius: 20px;
     padding: 0.5rem;
     border: 2px solid #64ffda;
     transition: transform 0.3s, box-shadow 0.3s;
 }

 .Project-cards:hover {
     transform: translateY(-5px);
     box-shadow: 0 10px 30px rgba(100, 181, 246, 0.2);
 }

 .Project-cards h3 {
     margin-bottom: 1rem;
     font-size: 1.3rem;
     color: #e6f1ff;
     font-family: "Inter", sans-serif;
     font-style: oblique;
 }

 .Project-cards p {
     margin-bottom: 1rem;
 }

 .tech-tags {
     display: flex;
     flex-wrap: wrap;
     gap: 0.5rem;
     margin-top: 1rem;
 }

 .tech-tag {
     background-color: #071421;
     border-style: solid;
     border-color: #64ffda;
     padding: 0.3rem 0.8rem;
     border-radius: 15px;
     font-size: 0.9rem;
     color: #8892B0;
     font-family: "Inter", sans-serif;
     font-style: normal;
     font-optical-sizing: auto;
     font-weight: 1000;
     border-width: 2px;

 }

 .Contact {
     text-align: center;
 }

 .Contact-links {
     display: flex;
     justify-content: center;
     gap: 2rem;
     flex-wrap: wrap;
     margin-top: 2rem;
 }

 .Contact-link {
     color: #e6f1ff;
     background-color: #071421;
     font-family: "Montserrat", sans-serif;
     text-decoration: none;
     font-size: 1.1rem;
     padding: 1rem 2rem;
     border: 2px solid #64ffda;
     border-radius: 20px;
     transition: all 0.3s;
 }

 .Contact-link:hover {
     background: #0A192F;
     font-weight: bolder;
 }

 footer {
     background-color: #071421;
     text-align: center;
     padding: 0.1rem;
 }