/* =========================================
   VARIÁVEIS GERAIS E RESET
   ========================================= */
:root {
  --color-maroon: #6b0202;
  --color-red: #f0535f;
  --color-orange: #f08253;
  --color-white: #ffffff;
  --color-red-bright: #FF0606;    
  --color-purple: #770093;
  --amareloqueimado: #F0B453;

  --font-gravitas: 'Gravitas One', cursive;
  --font-great-vibes: 'Great Vibes', cursive;
  --font-montserrat-alt: 'Montserrat Alternates', sans-serif;
  --font-inter: 'Inter', sans-serif;
}
  
* { margin: 0; padding: 0; box-sizing: border-box; }
  
body {
  font-family: var(--font-montserrat-alt);
  background-color: var(--color-orange); 
  color: var(--color-white);
  overflow-x: hidden;
  width: 100%;
}
  
.container { max-width: 1100px; margin: 0 auto; padding: 0 20px; width: 100%; }
.text-center { text-align: center; }
.flex-between { display: flex; justify-content: space-between; align-items: center; }
.grid-2-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
  
/* =========================================
   CABEÇALHO PRINCIPAL E NAVEGAÇÃO
   ========================================= */
.header {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 999;
  background-color: var(--color-maroon);
}

.logo-container { 
  background-color: var(--color-maroon);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 20px 0;
}

.logo-text {
  font-family: var(--font-great-vibes);
  font-size: 54px;
  color: var(--color-white);
  font-weight: 400;
  margin: 0;
  padding: 0;
  line-height: normal;
}

/* Esconde o menu mobile no Desktop */
.mobile-menu-icon, .mobile-menu {
  display: none;
}
  
.nav-pills { 
  width: 100%;
  display: flex; 
  flex-wrap: wrap; 
  justify-content: center;
  align-items: flex-end; 
  margin: 0px; 
  padding: 0 0 0 0;
  background-color: var(--color-maroon); 
  gap:0px; 
}

.pill { 
  text-decoration: none;
  font-size: 18px;
  font-family: var(--font-montserrat-alt), sans-serif;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0px 25px; 
  border-radius: 15px 15px 0px 0px; 
  color: var(--color-white); 
  background-color: var(--color-purple);
  transition: opacity 0.3s ease; 
  margin-bottom: 0; 
  margin-top: 8px;
}

.pill:hover { opacity: 0.8; }

.pill-inicio { background-color: var(--color-white); color: var(--color-maroon); }
.pill-servicos { background-color: var(--color-red); font-weight: bold; }
.pill-iara { background-color: #770093; }
.pill-arte { background-color: #53b4f0; }
.pill-portfolio { background-color: var(--amareloqueimado); }
  
/* =========================================
   SESSÃO HERO (1001 UTILIDADES)
   ========================================= */
.hero-services { 
  background-color: var(--color-red); 
  padding: 80px 0; 
  border-bottom: 2px solid rgba(255,255,255,0.1); 
}
.hero-title { 
  font-family: var(--font-gravitas); 
  font-size: 78px; 
  line-height: 1.1; 
  margin-bottom: 20px; 
}
.hero-subtitle { 
  font-size: 28px; 
  line-height: 1.4; 
  font-weight: 400; 
  font-family: var(--font-montserrat); 
}
  
/* =========================================
   SESSÃO SOBRE A PROFISSIONAL
   ========================================= */
.about-professional { padding: 100px 0; }
  
.photo-wrapper { text-align: center; }
.profile-img { width: 100%; max-width: 450px; height: auto; object-fit: cover; box-shadow: 0 20px 40px rgba(0,0,0,0.2); border-radius: 10px; }
  
.badge-text { font-family: var(--font-montserrat); font-weight: 700; font-size: 14px; letter-spacing: 6px; text-transform: uppercase; margin-bottom: 20px; }
.badge-text.center { margin: 0 auto 20px; display: table; }
  
.about-title { font-family: var(--font-gravitas); font-size: 48px; line-height: 1.2; margin-bottom: 30px; }
.about-desc { font-size: 18px; line-height: 1.6; margin-bottom: 40px; font-family: var(--font-montserrat); }
.about-highlight { font-family: var(--font-gravitas); font-size: 42px; line-height: 1.2; }
  
/* =========================================
   SESSÃO GRADE DE SERVIÇOS
   ========================================= */
.services-grid-section { padding: 40px 0 100px; }
.services-main-title { font-family: var(--font-gravitas); font-size: 64px; margin-bottom: 60px; letter-spacing: 2px; }

.services-grid { 
  display: grid; 
  grid-template-columns: 1fr 1fr; 
  border: 2px solid rgba(255,255,255,0.8); 
  max-width: 1000px; 
  margin: 0 auto; 
}

.service-card { 
  padding: 50px 40px; 
  display: flex; 
  flex-direction: column; 
  align-items: flex-start; 
  text-align: left; 
}

.border-bottom { border-bottom: 2px solid rgba(255,255,255,0.8); }
.border-right { border-right: 2px solid rgba(255,255,255,0.8); }

.icon-placeholder { 
  height: 50px; 
  margin-bottom: 20px; 
}

.icon-placeholder img {
  height: 100%;
  width: auto;
}

.card-title { 
  font-family: var(--font-montserrat); 
  font-weight: 700; 
  font-size: 24px; 
  margin-bottom: 15px; 
  line-height: 1.3; 
}

.card-desc {
  font-family: var(--font-montserrat);
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 20px;
  color: rgba(255,255,255,0.9);
}

.card-list { 
  list-style: none; 
  font-size: 16px; 
  font-family: var(--font-montserrat); 
  line-height: 1.6; 
}

.card-list li {
  position: relative;
  padding-left: 15px;
  margin-bottom: 8px;
}
.card-list li::before { 
  content: "•"; 
  color: var(--color-white);
  position: absolute;
  left: 0;
  font-weight: bold;
}
.mt-auto { margin-top: auto; }

/* =========================================
   SESSÃO CTA FINAL
   ========================================= */
.cta-section { background-color: var(--color-red); padding: 100px 0; }
.cta-title { font-family: var(--font-gravitas); font-size: 72px; line-height: 1.1; margin-bottom: 20px; }
.cta-subtitle { font-size: 18px; margin-bottom: 40px; }
  
.btn-outline-white { display: inline-block; padding: 15px 40px; border: 2px solid var(--color-white); border-radius: 50px; color: var(--color-white); font-family: var(--font-montserrat); font-weight: 500; font-size: 18px; text-decoration: none; transition: all 0.3s; }
.btn-outline-white:hover { background-color: var(--color-white); color: var(--color-red); }
  
/* =========================================
   RODAPÉ
   ========================================= */
.footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 40px 10%;
  background-color: var(--color-maroon);
}

.footer-content {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.footer-title {
  font-size: 36px;
  color: var(--color-white);
  font-weight: 600;
}

.copyright {
  font-size: 14px;
  color: var(--color-white);
  text-align: right;
}

.social-icons {
  display: flex;
  gap: 20px;
}

.social-icons img {
  width: 32px;
  cursor: pointer;
  transition: transform 0.3s;
}

.social-icons img:hover { transform: translateY(-5px); }

/* =========================================
   RESPONSIVIDADE (Tablets - Até 900px)
   ========================================= */
@media screen and (max-width: 900px) {
  .hero-title { font-size: 50px; }
  .hero-subtitle { font-size: 20px; }
  
  .grid-2-cols { grid-template-columns: 1fr; gap: 40px; text-align: center; }
  .badge-text { display: table; margin: 0 auto 20px; }
  .about-desc { text-align: justify; }
  
  .services-grid { grid-template-columns: 1fr; border-width: 1px; }
  .border-right { border-right: none; }
  .service-card { padding: 40px 20px; border-bottom: 1px solid rgba(255,255,255,0.8); }
  .service-card:last-child { border-bottom: none; }
  
  .cta-title { font-size: 50px; }
  .flex-between { flex-direction: column; gap: 20px; text-align: center; }
}

/* =========================================
   RESPONSIVIDADE TOTAL (Celulares - Até 600px)
   ========================================= */
@media screen and (max-width: 600px) {
  /* Trava o site (Impede de vazar conteúdo para os lados) */
  html, body {
    overflow-x: hidden ;
    width: 100% ;
    max-width: 100vw ;
    margin: 0 ;
    padding: 0 ;
  }

  .logo-text { font-size: 40px ; }

  /* MODO MOBILE: MENU HAMBÚRGUER */
  .desktop-menu { display: none ;}

  .mobile-menu-icon {
      display: block ;
      width: 100% ;
      text-align: center ;
      background-color: var(--color-maroon);
      padding: 15px 0;
  }

  .mobile-menu-icon button {
      background: transparent;
      border: none;
      cursor: pointer;
      color: var(--color-white);
      font-size: 40px; 
      line-height: 1;
  }

  .mobile-menu {
      display: none; 
      width: 100% ;
      background-color: var(--color-maroon);
      padding: 0 0 20px 0;
  }

  .mobile-menu.open { display: block ; }

  .mobile-menu ul {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 15px;
  }

  .mobile-menu .nav-link {
      text-decoration: none;
      color: var(--color-white);
      font-size: 20px;
      font-family: var(--font-montserrat-alt);
      font-weight: 500;
      padding: 10px;
      display: block;
  }

  /* Ajustes da Seção Hero para Celular */
  .hero-services { padding: 50px 5% ; }
  .hero-title { font-size: 42px ; margin-bottom: 20px ; }
  .hero-subtitle { font-size: 18px ; }


  .about-professional {
    width: 100% ;
    box-sizing: border-box ;
    /* Aqui está o segredo: 5% de margem interna nas laterais, igual a Serviços */
    padding: 60px 5% 40px ;
    overflow: hidden ;
  }

  .grid-2-cols {
    display: flex ;
    flex-direction: column ;/* Coloca a foto em cima e o texto embaixo */
    align-items: center ;
    gap: 30px ;
    width: 100% ;
    box-sizing: border-box ;
  }

  .photo-wrapper {
    width: 100% ;
    display: flex ;
    justify-content: center ;
  }

  .profile-img {
    max-width: 100% ; /* Impede a imagem de estourar a tela */
    height: auto ;
  }

  .about-content {
    width: 100% ;
    box-sizing: border-box ;
    text-align: center ;
  }

  /* Fontes ajustadas e seguras dentro do container */
  .about-title {
    font-size: 36px; /* Tamanho seguro que cabe na tela */
    word-wrap: break-word ;
    line-height: 1.2 ;
    margin: 15px 0;
  }

  .about-desc {
    font-size: 16px ;
    line-height: 1.5 ;
    /* O texto não vai mais colar nas bordas por causa dos 5% da seção principal */
  }

  .badge-text {
    font-size: 14px ;
    letter-spacing: 2px ;
    margin-bottom: 10px ;
  }

  .about-highlight {
    font-size: 30px ;
    margin-top: 20px ;
  }
 
  .services-main-title { font-size: 46px ; margin-bottom: 40px ;}
  .services-grid { border: none ;} /* Remove borda externa para ficar mais clean */
  .service-card { 
      padding: 30px 15px ;
      align-items: center ;
      text-align: center;
      border-bottom: 1px solid rgba(255,255,255,0.3) ;
  }
  .service-card:last-child { border-bottom: none ; }
  
  /* Centraliza as listas nos cartões de serviço no mobile */
  .card-list { display: inline-block; text-align: left; margin: 0 auto; }

  /* Ajustes do CTA Final */
  .cta-section { padding: 60px 5% ; }
  .cta-title { font-size: 46px ; }

  /* Rodapé Centralizado */
  .footer {
    flex-direction: column ;
    text-align: center ;
    gap: 20px ;
    padding: 40px 5% ;
    width: 100% ;
    box-sizing: border-box ;
  }
  .footer-content { align-items: center; }
  .copyright { text-align: center; }
}