@layer fonts{
    /* roboto-regular - latin */
    @font-face {
        font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
        font-family: 'Roboto';
        font-style: normal;
        font-weight: 400;
        src: url('../fonts/roboto-v48-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    }
    /* roboto-700 - latin */
    @font-face {
        font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
        font-family: 'Roboto';
        font-style: normal;
        font-weight: 700;
        src: url('../fonts/roboto-v48-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    }
    /* playfair-display-sc-regular - latin */
    @font-face {
        font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
        font-family: 'Playfair Display SC';
        font-style: normal;
        font-weight: 400;
        src: url('../fonts/playfair-display-sc-v17-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    }
    /* playfair-display-sc-700 - latin */
    @font-face {
        font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
        font-family: 'Playfair Display SC';
        font-style: normal;
        font-weight: 700;
        src: url('../fonts/playfair-display-sc-v17-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    }
    /* playfair-display-sc-900 - latin */
    @font-face {
        font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
        font-family: 'Playfair Display SC';
        font-style: normal;
        font-weight: 900;
        src: url('../fonts/playfair-display-sc-v17-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    }
}
@layer colors{
    :root{
        --c-primary:hsl(39, 62%, 36%);
        --c-black:black;
        --c-white:white;
    }
}
@layer typography{
    :root{
        --fs-56:calc(56 / 16 * 1rem);
        --fs-48:calc(48 / 16 * 1rem);
        --fs-40:calc(40 / 16 * 1rem);
        --fs-32:calc(32 / 16 * 1rem);
        --fs-32:calc(24 / 16 * 1rem);
        --fs-32:calc(20 / 16 * 1rem);
        --fs-18:calc(18 / 16 * 1rem);
        --fs-16:calc(16 / 16 * 1rem);
        --font-size-h1:var(--fs-56);
        --font-size-h2:var(--fs-48);
        --font-size-h3:var(--fs-40);
        --font-size-h4:var(--fs-32);
        --font-size-h5:var(--fs-18);
        --font-size-h6:var(--fs-16);
    }
    h1,h2,h3{
        margin:0;
    }
    h1{
        font-family: 'Playfair Display SC',Arial, Helvetica, sans-serif;
        font-size: var(--fs-56);
        font-weight: 400;
        line-height: 1.2;
        color:var(--c-primary);
    }
    h2{
        font-family: 'Playfair Display SC',Arial, Helvetica, sans-serif;
        font-size: var(--fs-48);
        font-weight: 700;
        line-height: 1.2;
        color:var(--c-black);
    }
    h3{
        font-family: 'Playfair Display SC',Arial, Helvetica, sans-serif;
        font-size: var(--fs-40);
        font-weight: 700;
        line-height: 1.2;
        color:var(--c-black);
    }
    h4{
        font-family: 'Playfair Display SC',Arial, Helvetica, sans-serif;
        font-size: var(--fs-32);
        font-weight: 700;
        line-height: 1.2;
        color:var(--c-black);
    }
    p{
        font-family: 'Roboto',Arial, Helvetica, sans-serif;
        font-size: 18px;
        line-height: 1.5;
        &.tagline{
            font-weight: 700;
        }
    }
}
@layer global{
    *,*::before,*::after{
        box-sizing: border-box;
    }
    body{
        margin:0;
        font-family: 'Roboto', Arial, Helvetica, sans-serif;
        color:var(--c-black);
    }
    .logo{
        color:var(--c-black);
        span{
            color:var(--c-primary);
        }
    }
    a.button{
        font-family: 'Roboto', Arial, Helvetica, sans-serif;
    }
    img{
        display:block;
        height: auto;
        max-width: 100%;
    }
    a{
        text-decoration: none;
    }
}
@layer button{
    .button{
        background-color: var(--c-primary);
        color:var(--c-white);
        text-transform: uppercase;
        width:fit-content;
        padding: calc(12/16*1rem) calc(24/16*1rem); 
    }
}
@layer header {
  .header {
    padding: 12px 20px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    position: relative;
    a.download-cv{
        background-color: var(--c-primary);
        color:var(--c-white);
        padding:calc(8/16*1rem) calc(20/16*1rem);
    }
  }

  .logo {
    font-size: 1.5rem;
  }

  .menu-toggle {
    background: none;
    border: none;
    font-size: 2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .icon-bars,
  .icon-close {
    font-size: 2rem;
    transition: opacity 0.3s ease;
  }

  .icon-close {
    display: none;
  }

  .nav-menu {
    width: 100%;
    display: none;
    flex-direction: column;
    margin-top: 1rem;
  }

  .nav-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .nav-menu li {
    padding: 10px 0;
  }

  .nav-menu li a {
    text-decoration: none;
    color: var(--c-black, #000);
  }

  .download-cv {
    text-decoration: none;
    color: var(--c-black, #000);
  }

  /* When menu is open */
  .nav-open .nav-menu {
    display: flex;
  }

  .nav-open .icon-bars {
    display: none;
  }

  .nav-open .icon-close {
    display: inline;
  }

  /* =========================
     Responsive Ordering
     ========================= */

  @media (max-width: 43.74rem) {
    .header {
      flex-wrap: wrap;
    }

    .download-cv {
      order: 1;
      margin-right: auto;
    }

    .menu-toggle {
      order: 2;
    }

    .nav-menu {
      order: 3;
    }
  }

  @media (min-width: 43.75rem) {
    .header {
      padding: 16px 40px;
      flex-wrap: nowrap;
    }

    .menu-toggle {
      display: none;
    }

    .nav-menu {
      display: flex;
      width: auto;
      margin-top: 0;
    }

    .nav-menu ul {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
      gap: 20px;
    }

    .nav-menu li {
      padding: 0;
    }

    .download-cv {
      margin-left: 20px;
      order: 3;
    }
  }

  @media (min-width: 68.75rem) {
    .header {
      padding: 18px 64px;
    }
  }
}


@layer hero{
    .hero{
        display:grid;
        grid-template-columns: 1fr;
        .content{
            margin:calc(64 / 16 * 1rem) calc(20 / 16 * 1rem);
        }
        img{
            height: calc(375/16 * 1rem);
            width: calc(375/16 * 1rem);
            border-radius: 50%;

        }
    }
    @media (min-width: 43.75rem) {
        .hero{
            grid-template-columns: 1fr 1fr;
            .content{
                margin:calc(243.5 / 16 * 1rem) calc(80 / 16 * 1rem);
            }
            .button{
                margin-top:calc(32/16*1rem);
                display: block;
            }
            img{
                height: calc(900/16 * 1rem);
                width: calc(720/16 * 1rem);
                border-radius: 0;
                margin-inline: auto;
            }
        }
    }
}
@layer education{
    .education{
        display:grid;
        grid-template-columns: 1fr;
        padding:calc(64/16*1rem) calc(20/16*1rem);
    }
    .head {
        padding-right: 2rem;
    }

    .head h2 {
        font-size: 2rem;
        font-weight: 700;
        color: #a87026; /* Gold-like title */
    }

    .head p:first-child {
        font-weight: bold;
        margin-bottom: 0.5rem;
    }

    .timeline {
        display: flex;
        flex-direction: column;

        .content {
            display: flex;
            gap: 1.5rem;
            .text{
                padding: 1rem 0;
                .section-title{
                    margin-bottom:32px;
                }
            }
            .timeline-progress {
                position: relative;
                width: 20px;
                display: flex;
                justify-content: center;
            }
            .progress-container {
                position: relative;
                width: 4px;
                flex-grow: 1;
            }

            .divider1,
            .divider2 {
                width: 4px;
                background: #000;
                flex-grow: 1;
            }

            .divider1 {
                height: 50%;
            }

            .divider2 {
                height: 50%;
            }

            .circle {
                position: absolute;
                left: 25%;
                top: 25%;
                transform: translate(-50%, -50%);
                width: 12px;
                height: 12px;
                border:2px solid white;
                background: black;
                border-radius: 50%;
                z-index: 1;
            }


            .timeline-date .heading {
                margin: 0.5rem 0;
            }
        }
    }

    @media (min-width: 43.75rem) {
        .education{
            padding: 7rem 5rem;
            grid-template-columns: 1fr 1fr;
            .content {
                .circle{
                    left: 15%;
                }
            }
        }
    }
}
@layer technologies{
    .technologies{
        padding: calc(64/16*1rem) calc(20/16 * 1rem);
        
        .head{
            display: block;
            margin-inline: auto;
            text-align: center;
            p.lead{
                margin-bottom:12px;
            }
            h2{
                margin-bottom:20px;
            }
        }
        .list-tech{
            display:grid;
            grid-template-columns: 1fr;
            text-align: center;
            margin-top:calc(48/16 * 1rem);
            margin-bottom:calc(48/16 * 1rem);
        }
        
    }
    @media (min-width: 43.75rem) {
        .technologies{
            padding: calc(112/16*1rem) calc(80/16*1rem);
            .list-tech{
                grid-template-columns: 1fr 1fr 1fr;
            }
        }        
    }
}
@layer footer{
    footer {
        padding: 3rem 1.25rem; /* 48px vertical, 20px horizontal */
        border-top: 1px solid #ccc;
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }
    .footer-content {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }
    .icons {
        display: flex;
        gap: 1rem;
    }

    .icons a img {
        width: 24px;
        height: 24px;
    }

    footer p {
        font-size: 0.9rem;
        color: #333;
    }

    @media (min-width: 700px) {
        footer {
            flex-direction: row;
            justify-content: space-between;
            align-items: center;
            
            .logo {
                display: none; /* hide logo on larger screens */
            }
            .footer-content {
                flex-direction: row;
                justify-content: space-between;
                align-items: center;
                width: 100%;
            }
            .icons {
                order: 2;
            }

            footer p {
                order: 1;
            }
        }
    }
}
