body {
        margin: 0;
        padding-top: 80px; /* altura do header fixo */
      }

html {
  scroll-behavior: smooth;
}

      main {
        padding-top: var(--header-height, 80px);
      }

      p, span, a {
        font-family: "Inter", sans-serif;
      }

      h1 {
        font-family: "Inter";
        color: black;
        font-size: 36px;
        font-weight: 600;
      }

      h2 {
        font-family: "Inter";
        color: black;
        font-size: 48px;
        font-weight: 600;
      }

      h3 {
        font-family: "Inter";
        color: black;
        font-size: 39px;
        font-weight: 600;
      }

      h4 {
        font-family: "Inter";
        color: black;
        font-size: 24px;
        font-weight: 600;
      }

      /* Header */
      .main-header {
        width: 100%;
        padding: 15px 40px;
        position: fixed;       /* fixed at top */
        top: 0;
        left: 0;
        z-index: 1000;
        display: flex;
        justify-content: center;
        transition: background-color 0.3s, box-shadow 0.3s;
        background-color: transparent; /* starts transparent */
      }

      /* Header after scrolling */
      .main-header.scrolled {
        background-color: #fff;          /* background when scrolling */
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
      }

      /* Container inside header */
      .nav-container {
        width: 100%;
        max-width: 1200px;
        display: flex;
        justify-content: space-between;
        align-items: center;
      }

      /* Logo */
      .logo {
        display: flex;
        align-items: center;
        gap: 10px; /* space between logo and name */
        font-size: 24px;
        font-weight: 700;
        text-decoration: none;
        color: #000;
      }

      .logo-img {
        height: 32px;   /* control size */
        width: auto;    /* keep proportions */
      }


      /* Navigation links */
      .nav-bar {
       display: flex;
       gap: 24px;
       align-items: center;
      }

      /* Regular nav links */
      .nav-link {
        text-decoration: none;
        font-weight: 600;
        font-size: 16px;
        color: #000;
        padding: 8px 12px;
        transition: all 0.2s ease;
      }

      .nav-link:hover {
        color: #0243C4;
      }

      /* Contact button */
      .contact-button {
        background-color: #006FEE;
        color: #fff;
        border-radius: 9999px;
        padding: 10px 20px;
      }

      .contact-button:hover {
        background-color: #0A1940;
        color: #fff;
      }

      /* Hamburger menu - hidden on desktop */
      .hamburger {
        display: none;
        font-size: 28px;
        cursor: pointer;
      }

      /* Responsive for smaller screens */
       @media (max-width: 768px) {
        .nav-bar {
          display: none;
          flex-direction: column;
          gap: 16px;
          position: absolute;
          top: 70px;   /* adjust based on header height */
          right: 40px;
          background-color: #fff;
          padding: 20px;
          border-radius: 10px;
          box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }

        .nav-bar.active {
          display: flex;
        }

        .hamburger {
          display: block;
        }
      }

      /* ====== Info Section ====== */

      .Info-Section {
        margin-left: 100px;
        margin-right: 100px;
      }

      .Tags {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
         
      }

      /* Estilo básico das tags */
      .tag {
        background-color: #d9d9d9; /* cinza claro */
        color: #000000;
        padding: 6px 14px;
        margin: 5px;
        border-radius: 9999px; /* totalmente arredondado */
        font-size: 14px;
        font-weight: 600;
        cursor: default;
        transition: all 0.2s ease;
        align-self: center;
      }

      /* Interação ao passar o mouse */
      .tag:hover {
      background-color: #333;
      color: white;
      transform: scale(1.05); /* leve zoom */
      }

      .Project-About {
        display: flex;
        flex-wrap: wrap;
        column-gap: 20px;
        align-items: stretch;
        row-gap: 16px;  
      } 

      .Project-About_Left-column {
        display: flex;
        flex: 0.9;
        align-items: stretch;
        min-width: 0;
      }

      .Project-About_Right-column {
        display: flex;
        align-items: stretch;
        flex: 1.1;
      }

      .Project-Title {
        font-size: 48px;
        font-weight: 600;
      }

      .Project-Subtitle {
        font-size: 24px;
        font-weight: 600;
        color: #7B7B7B;
      }

      .Project-Hero { 
        margin-top: 24px;
        object-fit: cover;
        border-radius: 10px;
        display: flex;
        align-items: stretch;
        flex: 1;
        overflow: hidden;  /* importante para cortar a imagem nos cantos arredondados */
      }

      .Project-Image {
        width: 100%;
        height: 100%;  
        object-fit: cover;
        border-radius: 10px;
      }

      .Highlight-Title {
        font-size: 15px;
        font-weight: 600;
        color: #7B7B7B;
      }

      .Info-Text {
        font-size: 15px;        
      }

      .Link-Text {
        display: inline-flex;   /* text + arrow inline */
        align-items: center;
        gap: 4px;
        text-decoration: none;
        font-size: 15px;
        font-weight: 600;
        color: #000;
        margin-bottom: 24px; /* space below "View all" */ 
      }

      .Link-Text:hover {
        color: #0243C4;
      }

      .Project-Info {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        column-gap: 20px;
        align-items: stretch;
      } 

      .Project-Year {
        max-width: 200px;
      }

      .Project-Modality {
        max-width: 200px;
      }

      .Project-Role {
        max-width: 200px;
      }

      .Project-Context {
        max-width: 300px;
      }

      .Logo-Figma {
        height: 39px;
      }

      .Logo-Illustrator {
        height: 39px;
      }

      .Logo-Photoshop {
        height: 39px;
      }

      .Logo-Notion {
        height: 39px;
      }

      .Logo-Miro {
        height: 39px;
      }

      .Logo-Polimi {
        height: 39px;
      }

      .Section-Title {
        font-size: 39px;
        font-weight: 600;
        text-align: center;
      }

      /* Mobile Behaviour */
      @media (max-width: 768px) {
        .Info-Section {
         margin-left: 20px;
         margin-right: 20px;
      }

      .Project-About {
        display: flex;
        flex-direction: column;   
        row-gap: 16px;     
      } 

      }

      .Section-Opening {
        display: flex;
        flex-direction: column;
        align-items: center;
      }

      .Section-Star {
        height: 40px;
      }
    
      /* ====== Venturing into the Unknown ====== */

       .VenturingIntoTheUnknown {
        margin-left: 100px;
        margin-right: 100px;
        margin-top: 100px;        
      }

      .ClientandChallenge {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        column-gap: 20px;
        align-items: stretch;
      }

      /* Responsividade */
      @media (max-width: 768px) {
        .ClientandChallenge {
          flex-direction: column;
          align-items: center;
          row-gap: 20px;
        }
      }     
          
      .Left-Column {
        display: flex;
        flex-direction: column;
        row-gap: 20px;
        justify-content: space-between;
        flex: 1;
      }

      .UnderstandingTheClient {
        display: flex;
        flex: 1; /* 🔥 faz os dois blocos se expandirem igualmente */
        flex-direction: column;
      }

      .TheChallenge {
        display: flex;
        flex: 1; /* 🔥 faz os dois blocos se expandirem igualmente */
        flex-direction: column;
      }

      .Client_InfoWrapper {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        gap: 20px;
      }

      .Client_Info {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
      }

      .Right-Column {            
        display: flex;
        align-items: stretch;
        flex: 1;
        overflow: hidden;  /* importante para cortar a imagem nos cantos arredondados */
      }

      .ClientandChallenge_Picture {
        width: 100%;
        height: 100%;  
        object-fit: cover;
        border-radius: 10px;
      }

      /* Mobile Behaviour */
      @media (max-width: 768px) {
        .VenturingIntoTheUnknown  {
          margin-left: 20px;
          margin-right: 20px;
        }

        .Client_InfoWrapper {
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          gap: 20px;
        }

      }

      /* ====== The Adventure Begins ====== */

      .TheAdventureBegins {
        margin-left: 100px;
        margin-right: 100px;
        margin-top: 100px;
      }

      

      .TaskAnalysis {
        display: flex;
        flex-direction: row;
        gap: 20px;
      }

      .Left-Column_Task-Analysis{
        display: flex;
        flex: 1;
        border-radius: 10px;
        overflow: hidden;  /* importante para cortar a imagem nos cantos arredondados */
        align-items: center;
        justify-content: center;  
      }

      .Task-Analysis_Picture {
        width: 100%;
        height: auto; 
        object-fit: contain; 
        border-radius: 10px;
      } 

      .Right-Column_Task-Analysis {            
        display: flex;
        flex-direction: column;
        align-items: stretch;
        flex: 1;
        overflow: hidden;  /* importante para cortar a imagem nos cantos arredondados */
      }

      .Task-Analysis_TitleandParagraph {
        display: flex;
        flex-direction: column;
        gap: 0px;
      }     

      

      .TaskAnalysis-1 {
        display: flex;
        flex-direction: column;
        margin-top: 50px;
      }

      .TaskAnalysis-1_Title {
        margin-top: 0;
      }

      .TaskAnalysis-1_Board {
        display: flex;
        flex-direction: row;
        background-color: #d9d9d9;
        border-radius: 10px;
        padding-left: 30px;
        padding-right: 30px;
        padding-top: 30px;
        padding-bottom: 30px;
        gap: 20px;
      }

      .TaskAnalysis-1_Board-Left {
        display: flex;
        flex-direction: column;
        flex: 1;
      }

      .TaskAnalysis_BoardTitle {
        font-size: 20px;
        font-weight: 600;
        margin: 0;
      }

      .TaskAnalysis_PagesandClicksWrap {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        gap: 50px;

      }

      .TaskAnalysis_Info {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        
      }

      .TaskAnalysis-1_Board-Right {
        display: flex;
        flex: 1;
        border-radius: 10px;
        overflow: hidden;  /* importante para cortar a imagem nos cantos arredondados */
        align-items: center;
        justify-content: center;  
      }

      .TaskAnalysis_Picture {
        width: 100%;
        height: auto; 
        object-fit: contain; 
        border-radius: 10px;
      }

      

      .TaskAnalysis-2 {
        display: flex;
        flex-direction: column;
        margin-top: 50px;
      }

      .TaskAnalysis-2_Title {
        margin-top: 0;
      }

      .TaskAnalysis-2_Board {
        display: flex;
        flex-direction: row;
        background-color: #d9d9d9;
        border-radius: 10px;
        padding-left: 30px;
        padding-right: 30px;
        padding-top: 30px;
        padding-bottom: 30px;
        gap: 20px;
      }

      .TaskAnalysis-2_Board-Left {
        display: flex;
        flex-direction: column;
        flex: 1;
      }

      .TaskAnalysis-2_Board-Right {
        display: flex;
        flex: 1;
        border-radius: 10px;
        overflow: hidden;  /* importante para cortar a imagem nos cantos arredondados */
        align-items: center;
        justify-content: center;  
      }

      .TaskAnalysis-3 {
        display: flex;
        flex-direction: column;
        margin-top: 50px;
      }

      .TaskAnalysis-3_Title {
        margin-top: 0;
      }

      .TaskAnalysis-3_Board {
        display: flex;
        flex-direction: row;
        background-color: #d9d9d9;
        border-radius: 10px;
        padding-left: 30px;
        padding-right: 30px;
        padding-top: 30px;
        padding-bottom: 30px;
        gap: 20px;
      }

      .TaskAnalysis-3_Board-Left {
        display: flex;
        flex-direction: column;
        flex: 1;
      }

      .TaskAnalysis-3_Board-Right {
        display: flex;
        flex: 1;
        border-radius: 10px;
        overflow: hidden;  /* importante para cortar a imagem nos cantos arredondados */
        align-items: center;
        justify-content: center;  
      }

      

      .InformationArchitecture {
        display: flex;
        flex-direction: row;
        gap: 20px;
        margin-top: 100px;
      }

      .Left-Column_InfoArchitecture{
        display: flex;
        flex: 1;
        border-radius: 10px;
        overflow: hidden;  /* importante para cortar a imagem nos cantos arredondados */
        align-items: center;
        justify-content: center;  
      }

      .InfoArchitecture_Picture {
        width: 100%;
        height: auto; 
        object-fit: contain; 
        border-radius: 10px;
      } 

      .Right-Column_InfoArchitecture {            
        display: flex;
        flex-direction: column;
        align-items: stretch;
        flex: 1;
        overflow: hidden;  /* importante para cortar a imagem nos cantos arredondados */
      }

      .InfoArchitecture_TitleandParagraph {
        display: flex;
        flex-direction: column;
        gap: 0px;
      }     

      .Wireframes-DesignSystem {
        margin-top: 100px;
      }

      .Wireframes-DesignSystem_Wrapper {
        margin-top: 50px;
      }

      /* Slideshow */

      .slider {
        position: relative;
        display: flex;
        align-items: center;
        width: 100%;
        max-width: 1200px;
        border-radius: 10px;
        margin: 0 auto;
      }

      .slider-window {
        overflow: hidden;
        width: 100%;
      }

      .slider-track {
        display: flex;
        transition: transform 0.4s ease;
        border-radius: 12px;
      }

      .slider-track img {
        width: 100%;
        height: auto;
        flex-shrink: 0;
        object-fit: contain;
        border-radius: 12px;
      }

      /* Buttons */
      .slider-btn {
        background: none;
        border: none;
        font-size: 24px;
        cursor: pointer;
        padding: 8px 12px;
        color: #111;
      }

      .slider-btn:hover {
        opacity: 0.7;
      }

      .Wireframes-DesignSystem_Wrapper {
        display: flex;
        gap: 24px;
        margin-top: 20px;
      }

      /* Each takes half the width */
      .Wireframes-DesignSystem_Wrapper > * {
        flex: 1;
      }

      /* Mobile Behaviour */
      @media (max-width: 768px) {
        .TheAdventureBegins {
          margin-left: 20px;
          margin-right: 20px;
          margin-top: 100px;
        }

        .TaskAnalysis {
        display: flex;
        flex-direction: column;
      }

      .TaskAnalysis-1_Board {
        display: flex;
        flex-direction: column;
      }

      .TaskAnalysis-2_Board {
        display: flex;
        flex-direction: column;
      }

      .TaskAnalysis-3_Board {
        display: flex;
        flex-direction: column;
      }

      .InformationArchitecture {
        display: flex;
        flex-direction: column-reverse;
        gap: 20px;
        margin-top: 100px;
      }

      }

      /* ====== Reaching the Summit ====== */

      .ReachingTheSummit {
        margin-left: 100px;
        margin-right: 100px;
        margin-top: 100px;        
      }

      .Redesign_Wrapper {
        display: flex;
        gap: 24px;
        margin-top: 50px;
        
      }

      /* Mobile behavior */
      @media (max-width: 768px) {

        .ReachingTheSummit {
          margin-left: 20px;
          margin-right: 20px;
        }
      }

      .InteractivePrototype {
        margin-top: 100px;
        display: flex;
        flex-direction: column;
      }

     .Figma-Prototype {
      width: 100%;
      display: flex;
      margin-top: 50px;
    }

    /* Aspect ratio wrapper */
    .Figma-Prototype iframe {
      width: 100%;
      height: 80vh;        /* scales with viewport */
      min-height: 600px;   /* prevents it from becoming too small */
      border: 1px solid rgba(0, 0, 0, 0.1);
      border-radius: 12px;
    }

    /* Mobile behavior */
    @media (max-width: 768px) {
      .Figma-Prototype iframe {
        height: 70vh;
        min-height: 500px;
      }
    }

    /* ====== Broader Horizons ====== */

      .BroaderHorizons {
        margin-top: 100px;
        margin-left: 100px;
        margin-right: 100px;
      }

      .ChallengesandSolutions_Titles {
        display: flex;
        flex-direction: row;
      }

      .Challenges_Title {
        width: 50%;
      }

      .Solutions_Title {
        width: 50%;
      }

      .ChallengesandSolutions_Wrapper {
        max-width: 1200px;
        margin: 0 auto;
        
      }

      .ChallengeAndSolution_Row {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
  
      }

      .Arrow {
        margin-top: 12px;
      }

      /* Mobile behavior */
      @media (max-width: 768px) {
        .Arrow  {
          display: none;
        }   
        
        .ChallengesandSolutions_Titles {
          display: flex;
          flex-direction: column;          
        }

        .ChallengeAndSolution_Row {
          gap: 5px;
        }

        .Challenges_Title {
        width: 100%;
        }

        .Solutions_Title {
          width: 100%;
          margin-top: 0;
        }

      }

      /* ====== Tablet & up ====== */
      @media (min-width: 768px) {
        .ChallengeAndSolution_Row {
          grid-template-columns: 1fr 40px 1fr;
          align-items: start; /* aligns paragraphs from the top */
          gap: 24px;
        }

        .Arrow {
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 22px;
          opacity: 0.6;
        }
      }

      /* ====== Desktop & up ====== */
      @media (min-width: 1024px) {
        .ChallengeAndSolution_Row {
          grid-template-columns: 1fr 48px 1.2fr;
          gap: 32px;
        }

        .Arrow {
          font-size: 24px;
        }
      }

      /* ====== Project Impact ====== */

      .ProjectImpact {
        display: flex;
        flex-direction: column;
        margin-top: 50px;
        row-gap: 20px;
      }

      .Impact_Title {
        display: flex;
        flex-direction: column;
      }

      .Impact_ColumnsWrap {
        display: flex;
        flex-direction: row;
        gap: 20px;
        align-items: stretch;
      }

      .Impact_LeftColumn {
        display: flex;
        flex-direction: column;
        flex: 1;
      }

      .Impact_Listing {
        display: flex;
        flex-direction: column;
        
      }

      .Impact {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        background-color: #d9d9d9;
        border-radius: 10px;
        margin-top: 20px;
        align-items: center;
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 30px;
      }

      .Impact_Icon {
        margin-left: 0;
        margin-right: 20px;
      }

      .Impact_RightColumn {
        border-radius: 10px;
        display: flex;
        align-items: stretch;
        flex: 1;
        margin-top: 20px;
        overflow: hidden;  /* importante para cortar a imagem nos cantos arredondados */
      }

      .Impact_Picture{
        width: 100%;
        height: 100%;  
        object-fit: cover;
        border-radius: 10px;
      }

      /* Mobile Behaviour */
      @media (max-width: 768px) {
        .BroaderHorizons {
         margin-left: 20px;
         margin-right: 20px;
      }

      .Impact_ColumnsWrap {
          display: flex;
          flex-direction: column;
          gap: 20px;
        }
      }


      /* ====== Explore Other Projects ====== */

      .ExploreOtherProjects {
        margin-top: 100px;
        margin-right: 100px;
        margin-left: 100px;
      }

     .OtherProjects_ImagesWrap {
        display: flex;
        flex-direction: row;
        gap: 20px;
     }

     .OtherProjects_LeftImage {
        border-radius: 10px;
        display: flex;
        align-items: stretch;
        flex: 1;
        margin-top: 20px;
        overflow: hidden; 
     }

     .OtherProjects_RightImage {
        border-radius: 10px;
        display: flex;
        align-items: stretch;
        flex: 1;
        margin-top: 20px;
        overflow: hidden; 
     }

     .Clickable-Image {
        width: 100%;
        height: 100%;  
        object-fit: cover;
        border-radius: 10px;
     }

     /* Mobile Behaviour */
      @media (max-width: 768px) {
        .ExploreOtherProjects {
          margin-right: 20px;
          margin-left: 20px;
        }

        .OtherProjects_ImagesWrap {
          display: flex;
          flex-direction: column;
          gap: 0px;
        }
      }

      /* ====== Footer ====== */

      .Footer-Wrapper {
          display: flex;
          flex-direction: row;
          gap: 32px; /* espaço entre colunas */
          justify-content: space-between;
          background-color: #d9d9d9;
          padding: 100px;
          padding-bottom: 0;
          margin-top: 100px;
          margin-bottom: 0;
        }

        .Footer-LogoAndName {
          display: flex;
          flex-direction: column;
          align-content: center;
        }

        .Footer-Logo {
          max-width: 200px;
          cursor: pointer;
        }

        .Footer-LogoLink {
          text-decoration: none;
        }
        

        .Footer-Rafaela {
          font-weight: 700;
          font-size: 27px;
          display: inline-block;
          margin-top: 10px;
          cursor: pointer;
          text-decoration: none;
          color: #000;
        }

        .Footer-WebsiteNavigation {
          display: flex;
          flex-direction: column;
          
        }

        .Footer-Social {
          display: flex;
          flex-direction: column;
        }

        .Footer-TermsCredits {
          display: flex;
          flex-direction: column;
        }

        .Footer-Links {
          font-size: 15px;
          font-weight: 600;
          cursor: pointer;
          display: block;
          line-height: 30px;
          text-decoration: none;
          color: #000;
        }

        .Footer-Links:hover {
          color: #0243C4;
        }

        .Footer-Email {
          font-size: 15px;
          font-weight: 600;
          display: block;
          margin-top: 0;
          
        }

        .SocialLinks_Wrapper {
          display: flex;
          flex-direction: row;
          gap: 5px;
          
        }

        .SocialLink {
          width: 31px;
          height: 31px;
          fill: #000;           /* VERY important */
          display: block;
        }

        .SocialLink:hover {
          fill: #0243C4;
        }

        .Footer-Copyright {
          background-color: #D9D9D9;
          padding: 100px;
          padding-top: 50px;
          padding-bottom: 50px;
          margin-top: 0px;
          text-align: center;
        }

        /* Mobile Behaviour */
      @media (max-width: 768px) {
        .Footer-Wrapper {
          display: flex;
          flex-direction: column;
          gap: 32px; /* espaço entre colunas */
          background-color: #d9d9d9;
          padding: 100px;
          padding-bottom: 0;
          margin-top: 100px;
          margin-bottom: 0;
          
          }

          .Footer-LogoAndName {
            display: flex;
            flex-direction: column;
          }

      }