/* ==========================================================
   assets/css/responsive.css – Breakpoints e ajustes mobile
   ========================================================== */

/* ----------------------------------------------------------
   NOTEBOOK: 1024px – 1439px
   ---------------------------------------------------------- */
@media (max-width: 1439px) {
  :root {
    --cr-gutter: 2rem;
  }

  .cr-services__grid,
  .cr-differentials__grid,
  .cr-experience__grid {
    grid-template-columns: 320px 1fr;
    gap: var(--cr-space-14, 3.5rem);
  }

  .cr-footer__main {
    grid-template-columns: 1.2fr 1fr 1fr 1fr 1.1fr;
    gap: var(--cr-space-8);
  }

  .cr-differentials__pillars {
    grid-template-columns: repeat(2, 1fr);
  }

  .cr-pillar:nth-child(2) {
    border-right: none;
  }

  .cr-pillar:nth-child(3) {
    border-right: 1px solid rgba(255,255,255,0.08);
  }

  .cr-pillar:nth-child(3),
  .cr-pillar:nth-child(4) {
    border-top: 1px solid rgba(255,255,255,0.08);
  }

  .cr-cta-card {
    padding: var(--cr-space-10) var(--cr-space-12);
  }
}

/* ----------------------------------------------------------
   TABLET: 768px – 1023px
   ---------------------------------------------------------- */
@media (max-width: 1023px) {
  :root {
    --cr-gutter: 1.5rem;
    --cr-header-height: 68px;
  }

  /* Header */
  .cr-nav {
    display: none;
    position: fixed;
    top: var(--cr-header-height);
    left: 0;
    right: 0;
    background: var(--cr-navy);
    padding: var(--cr-space-6) var(--cr-gutter);
    border-top: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 20px 40px rgba(0,0,0,0.4);
    z-index: 999;
  }

  .cr-nav.is-open {
    display: flex;
    justify-content: flex-start;
  }

  .cr-nav__list {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--cr-space-1);
    width: 100%;
  }

  .cr-nav__item {
    width: 100%;
  }

  .cr-nav__item a {
    display: block;
    padding: var(--cr-space-3) var(--cr-space-4);
    font-size: var(--cr-text-base);
    border-radius: var(--cr-radius-md);
    width: 100%;
  }

  .cr-hamburger {
    display: flex;
  }

  .cr-header__cta {
    display: none;
  }

  /* Hero */
  .cr-hero__grid {
    grid-template-columns: 1fr;
    gap: var(--cr-space-10);
    padding-bottom: 0;
  }

  .cr-hero__visual {
    order: -1;
  }

  .cr-hero__image-wrap {
    border-radius: 0;
    aspect-ratio: 16/7;
    max-height: 380px;
  }

  .cr-hero {
    padding-top: var(--cr-header-height);
    min-height: auto;
  }

  .cr-hero__content {
    padding-top: var(--cr-space-8);
    padding-bottom: var(--cr-space-8);
  }

  .cr-hero__stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .cr-hero__stat {
    padding: var(--cr-space-4);
    gap: var(--cr-space-3);
  }

  /* Services */
  .cr-services__grid {
    grid-template-columns: 1fr;
    gap: var(--cr-space-10);
  }

  /* Differentials */
  .cr-differentials__grid {
    grid-template-columns: 1fr;
    gap: var(--cr-space-10);
  }

  .cr-differentials__pillars {
    grid-template-columns: repeat(2, 1fr);
    border-left: none;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: var(--cr-radius-lg);
    overflow: hidden;
  }

  .cr-pillar {
    padding: var(--cr-space-6);
  }

  .cr-pillar:nth-child(2) {
    border-right: none;
  }

  .cr-pillar:nth-child(3) {
    border-right: 1px solid rgba(255,255,255,0.08);
    border-top: 1px solid rgba(255,255,255,0.08);
  }

  .cr-pillar:nth-child(4) {
    border-right: none;
    border-top: 1px solid rgba(255,255,255,0.08);
  }

  /* Experience */
  .cr-experience__grid {
    grid-template-columns: 1fr;
    gap: var(--cr-space-10);
  }

  /* CTA */
  .cr-cta-card {
    grid-template-columns: 1fr;
    padding: var(--cr-space-8);
    gap: var(--cr-space-8);
    text-align: center;
  }

  .cr-cta-card__icon {
    margin: 0 auto;
  }

  .cr-cta-card__actions {
    align-items: center;
    width: 100%;
  }

  .cr-cta-card__text {
    max-width: 100%;
  }

  /* Footer */
  .cr-footer__main {
    grid-template-columns: 1fr 1fr;
    gap: var(--cr-space-8);
  }

  .cr-footer__brand {
    grid-column: 1 / -1;
  }

  .cr-footer__tagline {
    max-width: 100%;
  }
}

/* ----------------------------------------------------------
   MOBILE: max 767px
   ---------------------------------------------------------- */
@media (max-width: 767px) {
  :root {
    --cr-gutter: 1.25rem;
    --cr-header-height: 62px;
  }

  /* Hero */
  .cr-hero__title {
    font-size: 1.875rem;
  }

  .cr-hero__actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .cr-hero__actions .cr-btn {
    width: 100%;
    justify-content: center;
    padding: 1rem 1.5rem;
  }

  .cr-hero__stats-grid {
    grid-template-columns: 1fr;
  }

  .cr-hero__stat {
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    padding: var(--cr-space-5) var(--cr-space-4);
  }

  .cr-hero__stat:last-child {
    border-bottom: none;
  }

  /* Services grid – mobile 1 coluna */
  .cr-services__cards {
    grid-template-columns: 1fr;
  }

  .cr-service-card {
    border-right: none;
  }

  .cr-service-card:nth-last-child(-n+2) {
    border-bottom: 1px solid var(--cr-border);
  }

  .cr-service-card:last-child {
    border-bottom: none;
  }

  /* Timeline – vertical em mobile */
  .cr-timeline {
    flex-direction: column;
    gap: var(--cr-space-8);
    padding-top: 0;
    padding-left: var(--cr-space-6);
  }

  .cr-timeline::before {
    top: 24px;
    left: calc(var(--cr-space-6) + 24px);
    bottom: 24px;
    right: auto;
    width: 2px;
    height: auto;
  }

  .cr-timeline__item {
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    gap: var(--cr-space-5);
    padding: 0;
  }

  .cr-timeline__icon-wrap {
    flex-shrink: 0;
    margin-bottom: 0;
  }

  .cr-timeline__dot {
    display: none;
  }

  /* CTA */
  .cr-cta-card {
    border-radius: var(--cr-radius-xl);
    padding: var(--cr-space-8) var(--cr-space-6);
  }

  .cr-cta-card__title {
    font-size: 1.25rem;
  }

  /* Footer – empilhado */
  .cr-footer__main {
    grid-template-columns: 1fr;
    gap: var(--cr-space-8);
    padding-bottom: var(--cr-space-8);
  }

  .cr-footer__brand {
    grid-column: auto;
  }

  /* Accordion footer no mobile */
  .cr-footer__col-title {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--cr-space-3) 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    margin-bottom: 0;
  }

  .cr-footer__col-title::after {
    content: '+';
    font-size: 1.25rem;
    color: rgba(255,255,255,0.4);
    font-weight: 300;
    transition: transform var(--cr-transition);
  }

  .cr-footer__col-title.is-open::after {
    transform: rotate(45deg);
  }

  .cr-footer__links {
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--cr-transition-slow), padding var(--cr-transition);
    padding-top: 0;
  }

  .cr-footer__links.is-open {
    max-height: 400px;
    padding-top: var(--cr-space-4);
  }

  /* Seções */
  .cr-services,
  .cr-differentials,
  .cr-experience {
    padding: var(--cr-space-16) 0;
  }

  /* Pilares em mobile – 1 coluna */
  .cr-differentials__pillars {
    grid-template-columns: 1fr;
  }

  .cr-pillar {
    border-right: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  .cr-pillar:last-child {
    border-bottom: none;
  }

  .cr-pillar:nth-child(3),
  .cr-pillar:nth-child(4) {
    border-top: none;
  }

  .cr-footer__bottom {
    flex-direction: column;
    gap: var(--cr-space-2);
    text-align: center;
  }
}

/* ----------------------------------------------------------
   SMALL MOBILE: max 480px
   ---------------------------------------------------------- */
@media (max-width: 480px) {
  .cr-hero__title {
    font-size: 1.625rem;
  }

  .cr-cta-section {
    padding: var(--cr-space-8) 0;
  }
}

/* Mantém a composição desktop da referência em notebooks. */
@media (min-width: 1024px) {
  .cr-services__grid { grid-template-columns: 430px 1fr; gap: 58px; }
  .cr-differentials__grid,
  .cr-experience__grid { grid-template-columns: 410px 1fr; gap: 42px; }
  .cr-differentials__pillars { grid-template-columns: repeat(4, 1fr); }
  .cr-pillar:nth-child(3),
  .cr-pillar:nth-child(4) { border-top: 0; }
}

@media (max-width: 1023px) {
  .cr-header { position: absolute; }
  .cr-logo__brand { width: 84px; }
  .cr-hero { height: auto; min-height: 0; padding-top: var(--cr-header-height); }
  .cr-hero__grid { grid-template-columns: 1fr; }
  .cr-hero__visual { order: 0; margin: 0 calc(var(--cr-gutter) * -1); }
  .cr-hero__image-wrap { height: auto; aspect-ratio: 16 / 9; }
  .cr-hero__content { padding: 35px 0 36px; }
  .cr-breadcrumb { margin-bottom: 24px; }
  .cr-hero__stats { position: static; width: auto; padding: 20px 0; background: rgba(255,255,255,.035); }
  .cr-hero__stats .cr-container { padding-inline: var(--cr-gutter); }
  .cr-services,
  .cr-differentials,
  .cr-experience { min-height: 0; }
  .cr-services__cards { border-left: 0; }
  .cr-cta-section,
  .cr-footer { min-height: 0; }
  .cr-page-sobre .cr-about-hero { height: auto; min-height: 0; }
  .cr-about-services,
  .cr-office { min-height: 0; }
  .cr-about-services__grid,
  .cr-office__grid { grid-template-columns: 1fr; gap: 38px; }
  .cr-legal-hero { min-height: 680px; background-position: 60% center; }
  .cr-legal-block { gap: 50px; }
  .cr-legal-block__media { height: 500px; }
  .cr-fiscal-hero { background-position: 60% center; }
  .cr-fiscal-mission__main { grid-template-columns: 42% 1fr; gap: 45px; }
  .cr-privacy-layout { grid-template-columns: minmax(0, 1fr) 310px; gap: 35px; }
  .cr-contact-main__grid { grid-template-columns: 340px 1fr; }
  .cr-contact-form-card { padding-inline: 30px; }
  .cr-contact-hero__benefits > div { min-width: 0; }
  .cr-accounting-services__grid { grid-template-columns: 45% 1fr; gap: 35px; }
  .cr-accounting-results__grid { grid-template-columns: 36% 1fr 190px; gap: 25px; }
}

@media (max-width: 767px) {
  .cr-header__inner { min-height: var(--cr-header-height); }
  .cr-hero__title { font-size: 32px; }
  .cr-hero__text { font-size: 14px; }
  .cr-hero__stats-grid { grid-template-columns: 1fr; }
  .cr-services__cards { grid-template-columns: 1fr; }
  .cr-service-card { padding: 14px 0; }
  .cr-differentials__pillars { grid-template-columns: 1fr; }
  .cr-pillar { padding: 28px 18px; }
  .cr-timeline::before { top: 32px; }
  .cr-timeline__icon-wrap { margin-bottom: 0; }
  .cr-timeline__icon-wrap::after { display: none; }
  .cr-cta-card { min-height: 0; grid-template-columns: 1fr; padding: 32px 24px; }
  .cr-footer__main { padding-inline: 0; }
  .cr-footer__col:not(:has(.cr-footer__links)) .cr-footer__col-title::after { display: none; }
  .cr-about-services__cards { grid-template-columns: 1fr; }
  .cr-about-service { min-height: 0; }
  .cr-about-service p { min-height: 0; margin-bottom: 12px; }
  .cr-office__gallery { height: auto; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3, 170px); }
  .cr-office__photo--board { grid-column: 1 / 3; grid-row: 1; }
  .cr-office__photo--team { grid-column: 1; grid-row: 2; }
  .cr-office__photo--lounge { grid-column: 2; grid-row: 2; }
  .cr-office__photo--reception { grid-column: 1; grid-row: 3; }
  .cr-office__values { grid-column: 2; grid-row: 3; padding: 16px; }
  .cr-office__values strong { font-size: 15px; }
  .cr-legal-hero {
    min-height: 720px;
    padding: 96px 0 45px;
    background-position: 68% center;
    background-image: linear-gradient(90deg, rgba(0,16,47,.98), rgba(0,16,47,.83)), url('../images/legal-gavel.webp');
  }
  .cr-legal-hero .cr-breadcrumb { margin-bottom: 35px; }
  .cr-legal-hero__content { width: 100%; }
  .cr-legal-hero__content h1 { font-size: 34px; }
  .cr-legal-hero__content p { font-size: 14px; }
  .cr-legal-content { padding: 45px 0 55px; }
  .cr-legal-block,
  .cr-legal-block--reverse { grid-template-columns: 1fr; gap: 32px; min-height: 0; }
  .cr-legal-block + .cr-legal-block { margin-top: 70px; }
  .cr-legal-block--reverse .cr-legal-block__media { order: -1; }
  .cr-legal-block__media { height: 430px; }
  .cr-legal-block__heading { grid-template-columns: 58px 1fr; gap: 15px; }
  .cr-legal-block__heading h2 { font-size: 25px; }
  .cr-legal-block__icon { width: 56px; height: 56px; }
  .cr-legal-block__icon svg { width: 30px; height: 30px; }
  .cr-legal-block__line { margin-left: 73px; }
  .cr-legal-posts__grid { grid-template-columns: 1fr; }
  .cr-legal-post > img { height: 210px; }
  .cr-legal-cta { padding: 30px 0; }
  .cr-fiscal-hero {
    min-height: 760px;
    padding: 96px 0 45px;
    background-position: 68% center;
    background-image: linear-gradient(90deg, rgba(0,16,47,.98), rgba(0,16,47,.82)), url('../images/fiscal-wallet.webp');
  }
  .cr-fiscal-hero .cr-breadcrumb { margin-bottom: 34px; }
  .cr-fiscal-hero__content { width: 100%; }
  .cr-fiscal-hero__content h1 { font-size: 34px; }
  .cr-fiscal-services { padding: 45px 0 35px; }
  .cr-fiscal-services h2 { font-size: 26px; }
  .cr-fiscal-services__list { grid-template-columns: 1fr; }
  .cr-fiscal-services__banner { grid-template-columns: 50px 1fr; padding: 18px; }
  .cr-fiscal-services__banner .cr-btn { grid-column: 1 / 3; width: 100%; justify-content: center; }
  .cr-fiscal-mission { padding: 25px 0 45px; }
  .cr-fiscal-mission__main { grid-template-columns: 1fr; gap: 32px; }
  .cr-fiscal-mission__media { height: 430px; }
  .cr-fiscal-mission__copy h2 { font-size: 26px; }
  .cr-fiscal-mission__pillars { grid-template-columns: 1fr 1fr; margin-top: 35px; }
  .cr-fiscal-pillar { min-height: 205px; border-bottom: 1px solid #e7ebf3; }
  .cr-fiscal-pillar:first-child { border-radius: 8px 0 0 0; }
  .cr-fiscal-pillar:nth-child(2) { border-right: 0; border-radius: 0 8px 0 0; }
  .cr-fiscal-pillar:nth-child(3) { border-radius: 0 0 0 8px; }
  .cr-fiscal-pillar:last-child { border-radius: 0 0 8px 0; }
  .cr-privacy-hero {
    min-height: 520px;
    padding: 96px 0 42px;
    background-position: 65% center;
    background-image: linear-gradient(90deg, rgba(0,16,47,.98), rgba(0,16,47,.78)), url('../images/privacy-shield.webp');
  }
  .cr-privacy-hero .cr-breadcrumb { margin-bottom: 38px; }
  .cr-privacy-hero__content h1 { font-size: 34px; }
  .cr-privacy-hero__content p { font-size: 14px; }
  .cr-privacy-layout { grid-template-columns: 1fr; gap: 35px; }
  .cr-privacy-aside { position: static; order: -1; }
  .cr-privacy-index { padding: 25px 22px; }
  .cr-privacy-contact { padding: 28px 24px; }
  .cr-privacy-section { grid-template-columns: 49px 1fr; gap: 14px; padding: 24px 0; }
  .cr-privacy-section__icon { width: 45px; height: 45px; }
  .cr-privacy-section h2 { font-size: 14px; }
  .cr-privacy-cta { padding: 30px 0; }
  .cr-contact-hero {
    min-height: 680px;
    padding: 96px 0 42px;
    background-position: 62% center;
    background-image: linear-gradient(90deg, rgba(0,16,47,.98), rgba(0,16,47,.76)), url('../images/about-reception.webp');
  }
  .cr-contact-hero__content { width: 100%; }
  .cr-contact-hero__content h1 { font-size: 36px; }
  .cr-contact-hero__benefits { grid-template-columns: 1fr 1fr; row-gap: 25px; margin-top: 34px; }
  .cr-contact-hero__benefits > div { min-width: 0; padding: 0 10px; border-right: 0; }
  .cr-contact-hero__benefits > div:first-child { padding-left: 10px; }
  .cr-contact-main { padding-block: 42px; }
  .cr-contact-main__grid { grid-template-columns: 1fr; gap: 38px; }
  .cr-contact-channels { padding: 0 0 18px; border-right: 0; border-bottom: 1px solid #bdc8dc; }
  .cr-contact-form-card { min-height: 0; padding: 28px 20px; }
  .cr-contact-form-card h2 { font-size: 25px; }
  .cr-contact-form { grid-template-columns: 1fr; }
  .cr-contact-form__message, .cr-contact-form__consent, .cr-contact-form .cr-btn { grid-column: 1; }
  .cr-contact-form .cr-btn { width: 100%; }
  .cr-contact-location__grid { grid-template-columns: 1fr; gap: 27px; }
  .cr-contact-map { height: 330px; }
  .cr-contact-location p { max-width: none; }
  .cr-contact-cta { padding: 30px 0; }
  .cr-accounting-hero {
    min-height: 760px;
    padding: 96px 0 45px;
    background-position: 68% center;
    background-image: linear-gradient(90deg, rgba(0,16,47,.98), rgba(0,16,47,.80)), url('../images/accounting-hero.webp');
  }
  .cr-accounting-hero .cr-breadcrumb { margin-bottom: 34px; }
  .cr-accounting-hero__content { width: 100%; }
  .cr-accounting-hero__content h1 { font-size: 34px; }
  .cr-accounting-hero__content .cr-btn { width: 100%; justify-content: center; }
  .cr-accounting-services { padding-block: 44px; }
  .cr-accounting-services h2 { font-size: 26px; }
  .cr-accounting-services__grid { grid-template-columns: 1fr; gap: 35px; }
  .cr-accounting-services__visual > img { height: 280px; }
  .cr-accounting-organization { padding: 24px 20px; }
  .cr-accounting-organization__head { grid-template-columns: 55px 1fr; gap: 14px; }
  .cr-accounting-organization__head > span { width: 52px; height: 52px; }
  .cr-accounting-results { padding-bottom: 45px; }
  .cr-accounting-results__grid { grid-template-columns: 1fr; gap: 30px; }
  .cr-accounting-results__media { height: 430px; }
  .cr-accounting-results__copy h2 { font-size: 25px; }
  .cr-accounting-results__benefits { grid-template-columns: 1fr 1fr; }
  .cr-accounting-posts { padding-top: 42px; }
  .cr-accounting-cta { padding: 30px 0; }
}
