* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    color: #232323;
}

main {
    overflow: hidden;
}

/*tipografía*/
.title-1 {
    font-size: 64px;
    font-family: "Average", serif;
}

.title-2 {
    font-size: 40px;
    font-family: "Roboto", sans-serif;
    font-weight: 600;
}

.subtitle-1 {
    font-size: 32px;
    font-family: "Average", serif;
}

.subtitle-2 {
    font-size: 24px;
    font-family: "Roboto", sans-serif;
    font-weight: 600;

}

.body-xl {
    font-size: 20px;
    font-family: "Roboto", sans-serif;
}

.body {
    font-size: 16px;
    font-family: "Roboto", sans-serif;
}

.body-sm {
    font-size: 14px;
    font-family: "Roboto", sans-serif;
}

/*fuente en media mobile */
@media (max-width:767px) {
    .title-1 {
        font-size: 32px;
        font-family: "Average", serif;
    }

    .title-2 {
        font-size: 28px;
        font-family: "Roboto", sans-serif;
    }

    .subtitle-1 {
        font-size: 24px;
        font-family: "Average", serif;
    }

    .subtitle-2 {
        font-size: 20px;
        font-family: "Roboto", sans-serif;
    }

    .body-xl {
        font-size: 16px;
        font-family: "Roboto", sans-serif;
    }

    .body {
        font-size: 12px;
        font-family: "Roboto", sans-serif;
    }

    .body-sm {
        font-size: 8px;
        font-family: "Roboto", sans-serif;
    }
}

/*weights*/
.regular {
    font-size: 400;
}

.bold {
    font-weight: 700;
}

/*styles*/
.italic {
    font-style: italic;
}

/* fuentes*/
.average {
    font-family: "Average", serif;
}

.roboto {
    font-family: "Roboto", sans-serif;
}

/*colores de fuente*/
.principal {
    color: #52341E;
}

.dark {
    color: #232323;
}

.light {
    color: #F2F2F2
}

/*background-colors*/
.bg-white {
    background-color: white;
}

.bg-light {
    background-color: #F2F2F2;
}

.bg-dark {
    background-color: #232323;
}

/*botones*/
.btn {
    background-color: #52341E;
    color: white;
    padding: 6px 10px;
    border: none;
    font-family: "Roboto", sans-serif;
    font-weight: 300;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn:hover {
    background-color: #643b1e;
    font-weight: 600;
    transform: translateY(-1px);
}

.primary-button {
    color: #232323;
    font-family: Roboto, -apple-system, Roboto, Helvetica, sans-serif;
    font-size: 20px;
    font-weight: 400;
    padding: 8px 10px;
    gap: 8px;
    border: 1px solid #fff;
    background-color: #fff;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
}

.primary-button:hover {
    background-color: #f0f0f0;
    transform: translateY(-1px);
}

.secondary-button {
    color: #fff;
    font-family: Roboto, -apple-system, Roboto, Helvetica, sans-serif;
    font-size: 20px;
    font-weight: 400;
    padding: 8px 10px;
    gap: 8px;
    border: 1px solid #fff;
    background-color: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
}

.secondary-button:hover {
    background-color: rgba(255, 255, 255, 0.1);
    transform: translateY(-1px);
}

@media (max-width:767px) {
    .primary-button {
        font-size: 12px;
    }

    .secondary-button {
        font-size: 12px;
    }
}

/* HEADER */

header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 30px;
}

nav {
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: center;
}

.logo-container {
    display: flex;
    flex-direction: column;
}

.logo-main {
    font-size: 32px;
    font-family: "Average", serif;
}

.navlinks {
    display: flex;
    gap: 20px;
}

.nav-link {
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.nav-link:hover {
    font-weight: 600;
    color: #643b1e;
}
.nav-btn{
    text-decoration: none;
}
/**dropdown*/
.dropdown {
  position: relative;
  display: inline-block;
}

.dropdown-toggle {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.dropdown-arrow {
  width: 12px;
  margin-left: 6px;
  transition: transform 0.3s ease;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  border: 1px solid #ccc;
  padding: 0.5rem 0;
  list-style: none;
  display: none;
  z-index: 10;
  min-width: 160px;
  margin-top: 10px;
}

.dropdown-menu li {
  padding: 0.5rem 1rem;
}

.dropdown-menu li a {
  text-decoration: none;
  color: black;
  display: block;
}

.dropdown-menu li:hover {
  background: #f0f0f0;
}

/* Clase activa para mostrar el menú */
.dropdown.active .dropdown-menu {
  display: block;
}

.dropdown.active .dropdown-arrow {
  transform: rotate(180deg);
}

@media (max-width: 767px) {
    header {
        flex-direction: column;
        gap: 10px;
    }

    .logo-main {
        font-size: 24px;
    }

    .company-tagline {
        text-align: center;
    }

    .nav-btn {
        display: none;
    }
    .dropdown-menu{
        min-width: 100px;
    }
}

/*hero*/

.hero-section {
    position: relative;
    height: 100vh;
    overflow: hidden;
}

.hero-content {
    position: absolute;
    z-index: 2;
    background-color: #000000b4;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 32px;
}

.content-column {
    display: flex;
    flex-direction: column;
    gap: 25px;
    justify-content: center;
    align-items: center;
}

.hero-headline {
    max-width: 524px;
    text-shadow: 0px 1.5px 4px #000;
    text-transform: uppercase;
}

.hero-description {
    max-width: 524px;
}

.hero-gradient {
    position: absolute;
    z-index: 3;
    right: 0;
}

.hero-bg-img {
    position: absolute;
    z-index: 0;
    object-fit: contain;
    width: 100%;
}

.hero-actions {
    display: flex;
    gap: 16px;
}
@media (max-width: 767px){
    .hero-content{
        padding: 0 20px;
    }
    .hero-bg-img {
        height: 100%;
        object-fit: cover;
    }

}
/*about-section*/
.about-us-section {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 80px;
    padding: 112px 64px;
    flex-wrap: wrap;
}

.about-us-header {
    display: flex;
    width: 536px;
    flex-direction: column;
    align-items: start;
    gap: 20px;
}

.about-us-description {
    min-width: 360px;
    flex: 1;
}
@media (max-width: 767px){
    .about-us-section {
        padding: 80px 20px;
        gap: 32px;
    }
    .about-us-description{
        min-width: auto;
    }
}

/*audit section*/
.audit-section {
    width: 100%;
    padding: 112px 64px;
    display: flex;
    gap: 80px;
    justify-content: space-between;
    align-items: center;
}

.audit-content {
    width: 536px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

.audit-img {
    flex: 1;
    max-width: 536px;
    max-height: 640px;
    min-width: 300px;
    object-fit: contain;

}
@media (max-width:767px){
    .audit-section{
        flex-direction: column;
        padding: 40px 20px;
    }
    .audit-content{
        align-items: start;
        width: 100%;
    }
    .audit-img{
        max-width: 100%;
        width: 100%;
        object-fit: cover;
        max-height: 400px;
    }
}
/*work qualities section*/
.work-qualities-section {
    width: 100%;
    padding: 112px 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 80px;
}

.work-qualities-header {
    display: flex;
    max-width: 900px;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.work-qualities-tagline,
.work-qualities-heading,
.work-qualities-description {
    text-align: center;
}

.qualities-header-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
}

.qualitie-cards-container {
    width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 32px;
    justify-content: center;
}

.secondary-cards {
    display: flex;
    flex-direction: column;
    gap: 32px;
    flex: 1;
    max-width: 418px;
    min-width: 280px;
}

.qualitie-card {
    height: 100%;
    display: flex;
    border: 1px solid rgba(12, 10, 10, 0.15);
    background-color: #f2f2f2;
    border-radius: 40px;
    overflow: hidden;
}

.qualitie-card-content {
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: center;
}

.featured-card {
    width: 100%;
    max-width: 702px;
    height: auto;
    display: flex;
    flex: 2;
    flex-wrap: wrap;


}
.featured-card .qualitie-card-content{
    width: 345px;
    flex:1;
}
.featured-card .qualitie-card-content > p{
    width: 100%;
}
.featured-card .card-text {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.work-qualities-img {
    min-width: 150px;
    flex: 1;
    max-height: 100%;
    object-fit: cover;
    width: 100%;
}

.work-qualities-contact-button {
    display: flex;
    align-self: self-start;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 6px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px 10px 5px 0;
    transition: all 0.3s ease;
}

.work-qualities-contact-button:hover {
    color: #52341E;
    font-weight: 700;
    background-color: #e9e9e9;
    padding: 5px 10px 5px 10px;
    transition: all 0.3s ease;
}
@media (max-width:767px){
    .work-qualities-section{
        padding: 40px 20px;
    }
    .qualitie-cards-container{
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 10px;
    }
    .featured-card{
        flex-direction: column;
    }
    .work-qualities-img{
        max-width: none;
        max-height: 200px;
    }
    .secondary-cards, .featured-card{
        max-width: 500px;
        gap: 10px;
min-width: auto;
    }
}
/*services sections */
.services-section {
    width: 100%;
    padding: 60px 64px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 120px;
}

.services-header {
    display: flex;
    width: 581px;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}

.services-header-content {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.services-main-heading {
    width: 100%;
}

.services-description {
    width: 100%;

}

.services-tabs-container {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    width: 100%;
    min-height: 234px;
}

.service-tab {
    display: flex;
    padding-left: 40px;
    flex-direction: column;
    gap: 16px;
    flex: 1 0 0;
    height: 100%;
    border-left: 1px solid #232323;
}

/*corporate-services-section*/
.corporate-services-section {
    align-items: flex-end;
    padding: 160px 64px;
}
@media (max-width:767px){
    .corporate-services-section .services-tabs-container{
        align-items: end;
    }
    .corporate-services-section .service-tab{
        border-right: 1px solid #232323;
        border-left: none;
        padding-left: 0;
        padding-right: 20px;
    }
    .corporate-services-section .service-title, .corporate-services-section .service-description{
        text-align: right;
    }
    .corporate-services-section li{
        list-style: none;
    }
}

.corporate-services-section .services-main-heading,
.corporate-services-section .services-description {
    text-align: end;
}

/*accounting-services-section*/
.accounting-services-section .services-header {
    width: auto;
}

.accounting-services-section .services-header-content {
    flex-direction: row;
    align-items: center;
}

.accounting-services-section .service-tab {
    border: none
}

.accounting-services-section .service-description li {
    list-style: none;
}

.services-icon {
    width: 30px;
}

/*labor-services-section*/
.labor-services-section {
    align-items: center;
    padding: 160px 64px;
    gap: 80px;
}

.labor-services-section .services-header {
    width: auto;
}

.labor-services-section .services-header,
.labor-services-section .services-header-content {
    align-items: center;
}

.labor-services-section .services-main-heading,
.labor-services-section .services-description {
    text-align: center;
}
.labor-services-section .services-tabs-container{
        justify-content: center;
        align-items: center;
    }
.labor-services-section .service-tab {
    border: none
}

.labor-services-section .service-description li {
    list-style: none;
}

.labor-services-section .service-tab {
    padding: 0;
    align-items: center;
}

.labor-services-section .service-title, .labor-services-section li {
    text-align: center;
}
@media (max-width:960px){
    .services-tabs-container{
        flex-direction: column;
    }
    .services-section{
        gap: 40px;
    }
}
@media (max-width:767px){
    .services-section{
        padding: 40px 20px;
        gap: 40px;
    }
    .services-header{
        width: auto;
    }
    .accounting-services-section{
        padding: 80px 20px;
    }
    .accounting-services-section .services-header-content{
        flex-direction: column;
    }
    .accounting-services-section .service-tab{
        border-left: 1px solid #232323 ;
    }
}
/*cta section*/
.cta-section {
    width: 100%;
    padding: 112px 64px;
    display: flex;
    flex-direction: column;
    gap: 80px;
    background: linear-gradient(0deg,
            rgba(0, 0, 0, 0.5) 0%,
            rgba(0, 0, 0, 0.5) 100%), url("./assets/cytonn-photography-n95VMLxqM2I-unsplash.jpg");
    background-position: center;
    background-size: cover;
}

.cta-content-container {
    display: flex;
    max-width: 768px;
    flex-direction: column;
    gap: 32px;
}

.cta-text-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    width: 100%;
}

.cta-button-group {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

/*consultation section */
.consultation-section {
    width: 100%;
    padding: 112px 64px;
    display: flex;
    gap: 80px;
    justify-content: center;
}

.consultation-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    min-width: 300px;
    max-width: 536px;
}

.consultation-services-grid {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.consultation-service-card {
    display: flex;
    padding: 32px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
    border: 1px solid rgba(12, 10, 10, 0.15);
    background-color: #f2f2f2;
    border-radius: 40px;
    max-width: 550px;
    min-width: 370px;
}
@media (max-width:860px){
    .consultation-section{
        flex-direction: column;
        padding: 80px 20px;
        gap: 40px;
    }
    .consultation-header, .consultation-services-grid .consultation-service-card{
        width: 100%;
        min-width: auto;
        max-width: fit-content;
    }
}
/* contact section */
.contact-section {
    display: flex;
    padding: 0px 64px;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
}

.contact-container {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: flex-start;
    gap: 80px;
    align-items: center;
}

.contact-content {
    display: flex;
    width: 619px;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    height: 100%;
    gap: 48px;
}

.contact-header {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.contact-header-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.contact-form {
    display: flex;
    height: 480px;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%;
}

.form-row {
    width: 100%;
    display: flex;
    gap: 24px;
}

.form-field {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    flex: 1 0 0;
}

.field-label {
    width: 100%;
    color: #232323;
    font-family: Roboto, -apple-system, Roboto, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: 400;
}

.form-input {
    display: flex;
    height: 48px;
    padding: 8px 0px;
    align-items: center;
    gap: 8px;
    width: 100%;
    border: none;
    border-bottom: 1px solid rgba(12, 10, 10, 0.15);
    background-color: rgba(255, 255, 255, 0);
    font-family: Roboto, -apple-system, Roboto, Helvetica, sans-serif;
    font-size: 16px;
    outline: none;
}

.form-input:focus {
    border-bottom-color: #4d372e;
}

.message-field {
    width: 100%;
}

.message-input {
    flex: 1 0 0;
    color: rgba(12, 10, 10, 0.6);
    font-family: Roboto, -apple-system, Roboto, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: 400;
    height: 180px;
    padding: 12px 12px 12px 0px;
    width: 100%;
    border: none;
    border-bottom: 1px solid rgba(12, 10, 10, 0.15);
    background-color: rgba(255, 255, 255, 0);
    resize: vertical;
    outline: none;
}

.message-input:focus {
    border-bottom-color: #4d372e;
}

.message-input::placeholder {
    color: rgba(12, 10, 10, 0.6);
}

.contact-info-section {
    display: flex;
    width: 503px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    height: 100%;
}

.contact-info-container {
    display: flex;
    padding: 8px 0px;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    width: 100%;
    height: 100%;
}

.contact-info-item {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
}

.contact-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.contact-details {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    flex: 1 0 0;
}

.contact-title {
    width: 100%;
    margin: 0;
}

.contact-link {
    width: 100%;

    text-decoration: none;
}

.contact-link:hover {
    text-decoration: underline;
}

.contact-address {
    width: 100%;

    font-style: normal;
}

.map {
    border-radius: 40px;
    width: 100%;
    min-height: 300px;
    max-height: 500px;
}
@media (max-width: 767px){
    .contact-section{
        padding: 40px 20px;
    }
    .contact-container{
        flex-direction: column;
    }
    .contact-content{
        width: 100%;
    }
    .contact-info-section{
        width: 100%;
    }
}
/* Footer Component Styles */
.footer-container {
    display: flex;
    padding: 60px 64px;
    justify-content: center;
    align-items: flex-end;
    gap: 64px;
    width: 100%;
    background-color: #fff;
}

.footer-content {
    display: flex;
    width: 100%;
    max-width: 1200px;
    gap: 64px;
    align-items: flex-end;
}

.company-info-column {
    display: flex;
    width: 864px;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    background-color: #fff;
}

.footer-company-logo {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 5px;
}

.company-name {
    color: #232323;
    font-family: Average, -apple-system, Roboto, Helvetica, sans-serif;
    font-size: 32px;
    font-weight: 400;
    margin: 0;
}

.company-tagline {
    padding-left: 5px;
}

/* Contact Details */
.contact-details {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    width: 100%;
}

.address-section,
.footer-contact-section {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    width: 100%;
}

.contact-label {
    width: 100%;
    color: #232323;
    font-family: Roboto, -apple-system, Roboto, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 700;
    margin: 0;
}

.company-address {
    width: 100%;
    color: #232323;
    font-family: Roboto, -apple-system, Roboto, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
}

.contact-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.phone-number,
.email-address {
    width: 100%;
    color: #232323;
    font-family: Roboto, -apple-system, Roboto, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
}

.phone-number:hover,
.email-address:hover {
    text-decoration: underline;
}

/* Social Media Links */
.social-media-links {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.social-link {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.social-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    fill: #232323;
}

.social-link:hover .social-icon {
    fill: #666;
    transition: fill 0.2s ease;
}

/* Navigation Column */
.footer-nav {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    flex: 1 0 0;
}

.footer-nav-links {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    flex: 1 0 0;
    height: 100%;
}

.footer-nav-link {
    flex: 1 0 0;
    color: #232323;
    font-family: Roboto, -apple-system, Roboto, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 150%;
    padding: 8px 0;
    width: 100%;
    text-decoration: none;
}

.footer-nav-link:hover {
    color: #666;
    transition: color 0.2s ease;
}

@media (max-width: 767px){
    .footer-container{
        padding: 40px 20px;
    }
    .company-info-column{
        width: auto;
    }
    .footer-content{
        flex-direction: column;
        align-items: normal;
    }
}