/* ===== VARIÁVEIS ===== */
:root {
    /*cores*/
    --color-blue: #303C8D;
    --color-darkBlue: #2A2E67;
    --color-orange: #EA641D;
    --color-green: #50AC32;
    --color-offWhite: #FAFAFA;
    --color-black:#010101;
    --color-shadow: rgba(0,0,0,0.3);
    --color-whatsapp: #4FCE5D;
    /*fontes*/
    --font-Primary: 'Montserrat', sans-serif;
    --font-Titles: 'Montserrat', sans-serif;
    /*width*/
    --maxWidth: 1440px;
}
/* ===== HTML GERAL ===== */
html {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-size: 62.5%;
    scroll-behavior: smooth;
}
body {
    /*background-color: var(--color-offWhite);*/
    font-size: 1.6rem;
    font-family: var(--font-Primary);
}
strong {
    font-weight: 700;
}
b {
  font-weight: 700;
}
.title {
    font-family: var(--font-Titles);
    color: var(--color-offWhite);
    font-weight: 700;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}
.titleOrange {
    font-family: var(--font-Titles);
    color: var(--color-orange);
    font-weight: 700;
}
.btn {
    background-color: var(--color-orange);
    letter-spacing: 2px;
    text-transform: capitalize;
}
.wrapper-fixed {
    position: sticky;
    top: 0;
    left: 0;
    margin-left: 0;
    margin-top: 0;
    z-index: 10;
}
.wrapperContainer {
    padding: 1rem;
    max-width: var(--maxWidth);
    margin: 1rem auto;
}
.wrapper-offWhite {
    width: 100%;
}
.wrapperBlue {
    background-color: var(--color-darkBlue);
    padding-top: 1px;
    width: 100%;
}
.wrapperBorder-Bottom {
    border-bottom: var(--color-orange) 2px solid;
}
.wrapper-main {
    background-image: url(../images/grafisms/grafismo\ 6.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

/* ===== NAVBAR ===== */
.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header__logo {
    width: 20rem;
    margin-left: 3rem;
}
.header__nav-list {
    list-style-type: none;
    margin-left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
}
.header__nav-link {
    display: inline-block;
    padding: 0.5em 2em;
    text-decoration: none;
    font-size: 2rem;
    color: var(--color-offWhite);
    border: 1px solid var(--color-offWhite);
    letter-spacing: 2px;
}
.header__nav-link:hover {
    background-color: var(--color-orange);
}
.header__socials {
    display: flex;
    gap: 1rem;
    justify-content: left;
    align-items: center;
}
.header__socials-icons {
    width: 3rem;
    padding: 0.5rem;
}
.header__socials-link:hover {
    background-color: var(--color-shadow);
}

/* ===== HERO ===== */
.wrapper-hero {
    padding-top: 1px;
    background-image: url(../images/backgrounds/hero_bg_1920x1080.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 1080px;
    max-height: 1080px;
}
.hero {
    width: 90%;
    height: 90%;
    padding-top: 1px;
    background-color: rgba(0,0,0,0);
    border-radius: 4px;
    color: var(--color-offWhite);
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.hero__main-title {
    font-size: 7rem;
    padding: 7rem 0;
}
.hero__nav-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3rem;
    list-style-type: none;
    margin-left: 0;
}
.hero__nav-links {
    padding: 1rem 2rem;
    margin: 2rem;
    text-decoration: none;
    color: inherit;
    font-size: 2.4rem;
    letter-spacing: 2px;
}
.hero__nav-links:hover {
    background-color: var(--color-shadow);
    border-radius: 10px;
}
.hero__subtitle {
    font-size: 4.0rem;
    letter-spacing: 1px;
    padding: 2rem 6rem;
    margin-top: 10rem;
}
.hero__cta {
    margin-top: 5rem;
    padding: 0.5em 1em; 
    display: inline-block;
    width: fit-content;
    font-size: 2.4rem;
    border: 1px solid var(--color-offWhite);
    border-radius: 8px;
    color: inherit;
    text-decoration: none;
}
.hero__cta:hover {
    background-color: var(--color-blue);
}


/* ===== COURSES ===== */
.courses{
  padding-top: 3em;
  text-align: center;
  background-color: rgba(250,250,250,0.9); /* consistente com .about/.services */
}
.courses__title{
  font-size: 5.6rem;              /* segue padrão das demais seções */
  margin: 7rem 0;
}
.courses__intro{
  padding: 2rem;
  font-size: 3.2rem;
  line-height: 1.5;
  font-weight: 500;
  text-align: left;
}

/* ===== Destaque ===== */
.course-feature{
  display: grid;
  grid-template-columns: 520px 1fr;
  gap: 2rem;
  align-items: stretch;
  margin: 4rem 0 6rem;
  border: 1px solid #ddd;
  border-radius: 12px;
  box-shadow: 3px 3px 5px var(--color-shadow);
  background: var(--color-offWhite);
  overflow: hidden;
}
.course-feature__media{ position: relative; background-image: url(../images/backgrounds/teste-itens.jpg); background-position: center; background-size: cover; background-repeat: no-repeat;}
.course-feature__img{ /*width:100%; object-fit: cover; display:block; overflow: hidden;*/ background-image: url(../images/backgrounds/teste-itens.jpg);}
.course-feature__content{
  text-align: left;
  padding: 2.4rem;
  display: flex; flex-direction: column; gap: 1.2rem;
}
.course-feature__title{ font-size: 3.2rem; font-weight: 700; color: var(--color-darkBlue); }
.course-feature__subtitle{ font-size: 2rem; color:#333; }

.course-feature__chips{ display:flex; flex-wrap:wrap; gap:8px; margin:.5rem 0 1rem;}
.course-feature__chip{
  display:inline-block; padding:.35rem .6rem; border-radius:999px;
  background:rgba(234, 100, 29,.5); border:1px solid #e6e6e6; font-weight:600; font-size:1.4rem;
}

.course-feature__meta{ list-style:none; padding:0; margin:0 0 1rem; display:grid; gap:.4rem; }
.course-feature__price{ font-weight:700; }
.course-feature__installment{ font-weight:800; color:#d47f17; }
.course-feature__sep{ opacity:.6; padding:0 .35rem; }

.course-feature__ctas{ display:flex; gap:10px; flex-wrap:wrap; margin-top:auto; }
.course-feature__btn{ color:#fff; background-color: var(--color-orange); padding: 0.5em; font-size: 1.2em; border: 0; border-radius: 5px; text-decoration: none;}
.course-feature__btn:hover{
  background: var(--color-darkBlue);
  color: var(--color-offWhite);
  outline: 1px solid var(--color-offWhite);
  outline-offset: -2px;
}

/* ===== Grid de cursos ===== */
.courses__grid{
  display:grid; gap:2rem;
  grid-template-columns: repeat(3, 1fr);
}
.course-card{
  background: var(--color-offWhite);
  border: 1px solid #ddd;
  border-radius: 12px;
  box-shadow: 3px 3px 5px var(--color-shadow);
  overflow: hidden;
  display:flex; flex-direction:column;
}
.course-card__img{ width:100%; height:180px; object-fit:cover; display:block; }
.course-card__body{ padding: 2rem; text-align:left; display:flex; flex-direction:column; gap:1rem; }
.course-card__title{ font-size: 2.4rem; font-weight:700; color: var(--color-darkBlue); }
.course-card__excerpt{ font-size:1.8rem; color:#333; }
.course-card__chips{ display:flex; gap:8px; flex-wrap:wrap; }
.course-card__chip{
  display:inline-block; padding:.25rem .55rem; border-radius:999px;
  background:rgba(234, 100, 29,.5); border:1px solid #e6e6e6; font-weight:600; font-size:1.3rem;
}
.course-card__meta{ list-style:none; padding:0; margin:0; display:grid; gap:.2rem; font-size:1.6rem; }
.course-card__installment{ color:#d47f17; }
.course-card__btn{display: inline-block; width: fit-content; color:#fff; background-color: var(--color-orange); padding: 0.5em; font-size: 1.2em; border: 0; border-radius: 5px; text-decoration: none;}
.course-card__btn:hover{
  background: var(--color-darkBlue);
  color: var(--color-offWhite);
  outline: 1px solid var(--color-offWhite);
  outline-offset: -2px;}

/* ====== ABOUT ===== */
.about {
    text-align: center;
    background-color: rgba(250, 250, 250,0.9);
}
.about__title {
    font-size: 5.6rem;
    margin: 7rem 0;
}
.about__content {
    padding: 2rem;
}
.about__content-paragraph {
    padding: 2rem;
    font-size: 3.2rem;
    line-height: 1.5;
    font-weight: 500;
    text-align: left;
}
.about__cardsContainer {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin: 6rem 0;
    padding: 2rem;
}
.about__card {
    flex: 1;
    border: 1px solid #ccc;
    border-radius: 10px;
    box-shadow: 3px 3px 5px var(--color-shadow);
    background-color: var(--color-offWhite);
}
.about__card:hover {
    transform: translate(0px,-15px);
    transition-duration: 0.5s;
    transition-timing-function: ease;
}
.about__card-icon {
    width: 10rem;
    padding: 2rem;
}
.about__card-title {
    padding: 2rem 0;
    margin: 0 2rem;
    font-size: 2.8rem;
    font-weight: 700;
    border-top: #ccc 1px solid;
}

/* ===== SERVICES ===== */
.services {
    text-align: center;
    background-color: rgba(250, 250, 250,0.9);
    padding-top: 3em;
}
.services__title {
    font-size: 5.6rem;
    margin: 7rem 0;
}
.services__description {
    padding: 2rem;
    font-size: 3.2rem;
    line-height: 1.5;
    font-weight: 500;
    text-align: left;
}
.services__cardsContainer {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2rem;
    margin: 6rem 0;
    padding: 2rem;
}
.services-card {
    flex: 0 0 30%;
    border: 1px solid #ccc;
    border-radius: 10px;
    box-shadow: 3px 3px 5px var(--color-shadow);
    background-color: var( --color-offWhite);
}
.services-card:hover {
    transform: translate(0px,-15px);
    transition-duration: 0.5s;
    transition-timing-function: ease;
}
.services-card__iconContent {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;
}
.services-card__icon {
    display: inline-block;
    padding: 1rem 4rem;
    width: 10rem;
}
.services-card__title {
    font-size: 3.2rem;
    text-align: left;
}
.services-card__content {
    text-align: left;
    padding: 3rem;
}
.services-card__list {
    font-size: 2.8rem;
    font-weight: 500;
    list-style-type: disc;
    list-style-position: inside;
    line-height: 1.5em;
}
.services-card__list li::marker {
    color: var(--color-darkBlue);
}
.services-card__list-item {
    margin: 2rem 0;
}
.services__cta-container {
    padding: 5rem;
}
.services__cta-container p {
    padding: 2rem;
    font-size: 3.2rem;
    line-height: 1.5;
    font-weight: 500;
}
.services__cta-btn {
    margin-top: 3rem;
    padding: 0.5em 1em; 
    display: inline-block;
    width: fit-content;
    font-size: 3.2rem;
    outline: 1px solid var(--color-offWhite);
    border-radius: 8px;
    color: inherit;
    text-decoration: none;
}
.services__cta-btn:hover {
    background-color: var(--color-blue);
    color: white;
}

/* ===== CONTACT ===== */
.wrapper-contact {
    background-image: url(../images/backgrounds/contact_bg_1920x1080.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 90vh;
    max-height: 1080px;
}
.contact {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 3rem;
    text-align: left;
}
.contact__title {
    font-size: 5.6rem;
    padding: 1rem;
    margin: 5rem 0;
}
.contact__description {
    display: block;
    padding: 1rem;
    font-size: 3.6rem;
    text-transform: uppercase;
    font-weight: 500;
    margin: 6rem 0;
}
.contact__list-Buttons {
    display: flex;
    justify-content: center;
    gap: 4rem;
    font-size: 3.6rem;
    margin-block-start: auto;
}
.contact__listLinks {
    display: flex;
    padding: 0.5em 1em;
    border-radius: 10px;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    color: var(--color-offWhite);
    text-decoration: none;
}
.contact__listButtons-cta--icon {
    width: 6rem;
}
.contact__listButtons-cta--whatsapp {
    background-color: var(--color-whatsapp);
}
.contact__listButtons-cta--whatsapp:hover {
    background-color: var(--color-orange);
}
.contact__listButtons-cta--email {
    background-color: var(--color-blue);
}
.contact__listButtons-cta--email:hover {
    background-color: var(--color-orange);
}

/* ===== FOOTER ===== */
.wrapperBorder-Top {
    border-top: 2px solid var(--color-orange);
    padding-bottom: 1px;
}
.footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
}
.footer__brand {
    text-align: center;
    font-size: 1rem;
}
.footer__logo {
    width: 8rem;
    margin: 1rem;
}
.footer__nav-list {
    color: white;
    font-size: 1.6rem;
}
.footer__nav-listItem {
    margin-bottom: 1rem;
}
.footer__nav-link {
    color: inherit;
    text-decoration: none;
}
.footer__nav-link:hover {
  text-decoration: underline;
}
.footer__contacts-list {
    margin: 1rem;
    color: white;
}
.footer__contact-listLinkImage {
    width: 2rem;
    padding: 0.5rem;
}
.footer__contact-listLink {
    display: flex;
    align-items: center;
    font-size: 1.6rem;
    text-decoration: none;
    color: inherit;
}
.footer__contact-listLink:hover {
    text-decoration: underline;
}
.btn__footer {
    display: inline-block;
    padding: 1rem 1.5rem;
    border: 1px solid var(--color-offWhite);
    border-radius: 6px;
    font-size: 1.8rem;
    font-weight: 500;
    color: white;
    text-decoration: none;
}
.btn__footer:hover {
    background-color: var(--color-blue);
    color: white;
}

/* ===== RESPONSIVIDADE ===== */
@media screen and (max-width: 1024px) {
  .hero__main-title {
    font-size: 5rem;
    padding: 5rem 0;
  }

  .hero__subtitle {
    font-size: 2.8rem;
    padding: 2rem 4rem;
    margin-top: 6rem;
  }

  .services-card {
    flex: 0 0 45%;
  }

  .services__description {
    font-size: 2.4rem;
  }

  .services-card__list {
    font-size: 2.4rem;
  }

  .contact__description {
    font-size: 2.8rem;
    text-align: center;
  }
  .course-feature{ grid-template-columns: 1fr; }
  .courses__grid{ grid-template-columns: repeat(2, 1fr); }
}

@media screen and (max-width: 768px) {
  /* HEADER */
  .header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  .header__logo {
    margin: 0;
  }

  .header__nav-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  .header__nav-link {
    font-size: 1.6rem;
    padding: 0.5rem 1rem;
  }

  .header__socials {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  /* HERO */
  .wrapper-hero {
    height: auto;
    padding: 6rem 0;
  }

  .hero__main-title {
    font-size: 4rem;
    padding: 3rem 0;
  }

  .hero__subtitle {
    font-size: 2.2rem;
    padding: 1rem 2rem;
    margin-top: 4rem;
  }

  .hero__nav-list {
    flex-direction: column;
    gap: 1.5rem;
  }

  .hero__nav-links {
    font-size: 1.8rem;
    margin: 1rem 0;
  }

  .hero__cta {
    font-size: 2rem;
  }

  /* ABOUT */
  .about__title {
    font-size: 3.6rem;
  }

  .about__content-paragraph {
    font-size: 2.2rem;
  }

  .about__cardsContainer {
    flex-direction: column;
  }

  /* COURSES */
  .courses__title{ font-size: 3.6rem; }
  .courses__intro{ font-size: 2.2rem; }
  .courses__grid{ grid-template-columns: 1fr; }

  /* SERVICES */
  .services__title {
    font-size: 3.6rem;
  }

  .services__description {
    font-size: 2.2rem;
  }

  .services__cardsContainer {
    flex-direction: column;
  }

  .services-card {
    flex: 1 1 100%;
  }

  .services-card__list {
    font-size: 2.2rem;
  }

  .services__cta-btn {
    font-size: 2.4rem;
  }

  /* CONTACT */
  .wrapper-contact {
    height: auto;
    padding: 6rem 0;
  }

  .contact__title {
    font-size: 3.6rem;
    text-align: center;
  }

  .contact__list-Buttons {
    flex-direction: column;
    gap: 2rem;
  }

  .contact__listLinks {
    font-size: 2rem;
    width: 100%;
  }

  /* FOOTER */
  .footer {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 2rem;
  }

  .footer__nav-list {
    padding: 0;
  }

  .footer__contacts-list {
    text-align: center;
  }

  .btn__footer {
    font-size: 1.6rem;
  }
}






/* ===== RESET BÁSICO ===== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ===== PÁGINA ===== */
.login-page {
  background-image: url(../images/backgrounds/Fundo\ de\ Tela\ LMI\ 1.jpg);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  font-family: 'Montserrat', sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  position: relative;
}

/* Camada de overlay para escurecer o fundo */
.login-page__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.2);
  z-index: 1;
}

.login-page__content {
  position: relative;
  z-index: 2;
  text-align: center;
}

/* Logo */
.login-page__logo {
  width: 40rem;
  margin-bottom: 8rem;
}

/* Caixa de login */
.login-form {
  background-color: rgba(255, 255, 255, 0.9);
  padding: 2rem;
  border-radius: 8px;
  width: 300px;
  margin: 0 auto;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

.login-form__title {
  font-size: 1.8rem;
  margin-bottom: 1.5rem;
  color: #303C8D; /* Azul da sua paleta */
}

.login-form__group {
  margin-bottom: 1rem;
  text-align: left;
}

.login-form__label {
  display: block;
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
  color: #333;
}

.login-form__input {
  width: 100%;
  padding: 0.8rem;
  font-size: 1.4rem;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.login-form__button {
  width: 100%;
  padding: 0.8rem;
  font-size: 1.6rem;
  background-color: #EA641D; /* Laranja da sua paleta */
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.login-form__button:hover {
  background-color: #d45415;
}




/* ===== ARTIGOS ===== */
/* ========= MAIN / GRAFISMO ========= */
.art-main{ 
  position:relative; 
  padding-block:40px; 
}
.art-main::after{
  content:""; position:absolute; top:0; right:0; bottom:0; width:200px;
  background:url('../images/backgrounds/hexagons.png') top right/contain no-repeat;
  opacity:.18; pointer-events:none;
}
.art-main__inner{ position:relative; 
  z-index:1; 
}
/* ========= HERO ========= */
.wrapper-containerArticles {
  padding-top: 1px;
  width: 100%;
  height: 300px;
  background-image: url(../images/backgrounds/articles_bg.jpg);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: cover;
}
.articles-hero {
  text-align: center;
  padding-top: 1px;
}
.articles-hero__mainTitle {
  font-size: 8.0rem;
  margin: 10rem 0;
}

/* ========= CONTROLS (SEARCH + FILTERS) ========= */
.articles-controls{ display:flex; gap:30px; margin-bottom:40px; align-items:flex-start;}

.articles-search{ display:flex; flex:1; }
.articles-search__input{ flex:1; padding:10px 14px; border:1px solid #ccc; border-radius:6px 0 0 6px; font:inherit; }
.articles-search__button{ border-radius:0 6px 6px 0; }

.articles-filters{ width:240px; border:1px solid #e6e6e6; border-radius:8px; padding:16px; background:#fff; }
.articles-filters__title{ margin:0 0 10px 0; color:var(--color-primary); font-weight:700; }
.articles-filters__label{ margin:8px 0 6px; font-weight:600; }
.articles-filters__option{ display:block; margin-bottom:8px; cursor:pointer; }
.articles-filters__check{ margin-right:6px;}


/* ========= DESTAQUE ========= */
.art-section-title{ font-size:2.4rem; margin:0 0 16px 0; color:var(--color-blue); }

.feature-card{ display:flex; background:#fff; border:1px solid #eaeaea; border-radius:10px; overflow:hidden; box-shadow:var(--shadow); }
.feature-card__media{ width:320px; min-height:200px; background:#f6f6f6; }
.feature-card__img{ width:100%; height:100%; object-fit:cover; display:block; }
.feature-card__content{ padding:20px; flex:1; display:flex; flex-direction:column; gap:12px; }
.feature-card__text{ margin:0; }
.feature-card__title {
  font-size: 2.4rem;
  font-weight: 700;
}
.feature-card__subtitle {
  font-size: 1.6rem;
  font-style: italic;
  color: #6a6a6a;
}

/* ========= LISTA DE ARTIGOS ========= */
.art-list{ margin-top:48px; }
.art-list__grid{ display:grid; gap:20px; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }

.post-card{ background:#fafafa; border:1px solid #eaeaea; border-radius:10px; overflow:hidden; box-shadow:var(--shadow); transition:transform .2s ease; }
.post-card:hover{ transform: translateY(-4px); }
.post-card__img{ width:100%; height:150px; object-fit:cover; display:block; }
.post-card__info{ padding:14px; }
.post-card__excerpt{ margin:0; color:#555; }
.post-card__title {
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 1rem;
}
.post-card__subtitle {
  font-size: 1.2rem;
  font-style: italic;
  color: #555;
  margin-bottom: 1rem;
}

/* ========= PAGINAÇÃO ========= */
.art-pagination{ text-align:center; margin:36px 0 20px; }
.art-pagination__link{
  display:inline-block; padding:8px 12px; margin:0 4px;
  border:1px solid #ccc; border-radius:6px; color:var(--color-blue); text-decoration:none; font-weight:700;
}
.art-pagination__link--current{ 
  background-color: var(--color-blue);
  color:#fafafa;
  border: 1px solid var(--color-blue);
}













:root{
      /* Fallbacks: usa variáveis do seu theme se existirem */
      --faq-darkBlue: var(--color-darkBlue, #2A2E67);
      --faq-accent:   var(--color-accent,   #EA641D);
      --faq-off:      var(--color-offWhite, #FAFAFA);
      --faq-shadow:   var(--color-shadow,   rgba(0,0,0,.15));
      --faq-answer-bg: #FFF8EC; /* destaque suave para resposta */
      --faq-radius:   12px;
    }

    .faq{ background: var(--faq-off); padding: 4rem 0 6rem; }
    .faq__container{ width: min(1200px, 92%); margin-inline: auto; }
    .faq__title{ font-size: clamp(2.4rem, 1.4rem + 2.2vw, 5.2rem); color: var(--faq-darkBlue); margin: 1rem 0 1.2rem; }
    .faq__intro{ font-size: clamp(1.6rem, 1.2rem + .6vw, 2rem); color:#333; margin-bottom: 2rem; }

    /* Accordion */
    .faq-acc{ display: grid; gap: 1.2rem; }

    .faq-acc__item{
      background: #fff;
      border: 1px solid #E8E8E8;
      border-radius: var(--faq-radius);
      box-shadow: 3px 3px 5px var(--faq-shadow);
      overflow: hidden;
    }

    .faq-acc__question{
      /* reset e layout */
      all: unset;
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      gap: 1rem;
      width: 100%;
      padding: 1.6rem 1.8rem;
      cursor: pointer;

      /* tipografia */
      color: var(--faq-darkBlue);
      font-size: clamp(1.6rem, 1.2rem + .5vw, 2.2rem);
      font-weight: 700;
    }
    .faq-acc__question:focus-visible{
      outline: 2px solid var(--faq-accent);
      outline-offset: 2px;
      border-radius: 8px;
    }
    .faq-acc__question:hover{ background: #FBFBFB; }

    /* ícone (setinha) feito em CSS */
    .faq-acc__icon{
      width: 1.2em; height: 1.2em; position: relative;
    }
    .faq-acc__icon::before{
      content:""; position:absolute; inset: 0;
      border: solid currentColor; border-width: 0 .18em .18em 0;
      transform: rotate(45deg); margin: .15em;
    }

    /* painel com animação de altura */
    .faq-acc__panel{
      overflow: hidden;
      transition: height .22s ease;
      height: 0; /* JS controla a altura; 'hidden' também é aplicado */
    }

    /* caixa da resposta com destaque */
    .faq-acc__answer{
      padding: 1.4rem 1.8rem 1.8rem;
      background: var(--faq-answer-bg);
      border-top: 1px solid #F0E6D7;
      border-left: 4px solid var(--faq-accent);
      color: #2b2b2b;
      line-height: 1.6;
      font-size: 2rem;
      line-height: 1.8;
    }

    /* estado aberto */
    .faq-acc__question[aria-expanded="true"] .faq-acc__icon::before{
      transform: rotate(-135deg);
      margin-top: .25em;
    }

    /* mantém bullets nativos, só estiliza */
  .faq .faq-list{
  list-style: disc;
  padding-left: 1.6rem;      /* indent padrão */
  margin: 0.6rem 0 0 0;
  }
  .faq .faq-list__item {margin-top: 0.6rem;}
  .faq .faq-list__item::marker{
  color: var(--faq-accent, #EA641D);
  font-size: .9em;           /* leve redução do marcador */
  }