@media (min-width: 1401px) { 
	.menu .page_list_wrapper {
		align-self: auto;
	}

	.front-page_orb-3 {
		top: 36.9%;
	}
	
    .hero-ending-text {
        max-width: 100%;
    }
	
	.footer-brand {
		padding-left: 0;
	}
}

@media (max-width: 1200px) {
    /* MENU */
    .menu .menu_wrapper {
        max-width: 900px;
    }

    .menu .page_list_wrapper {
        padding: 5.5rem;
        align-self: auto;
        max-width: 630px;
    }

    /* FOOTER */
    footer .footer-brand {
        padding-left: 0 !important;
    }

    /* HOMEPAGE */
    .front-page_orb-1 {
        right: 21.7%;
    }

    .front-page_orb-2 {
        left: 14.8%;
    }

    .front-page_orb-4 {
        bottom: 33.6%;
    }

    .front-page_orb-5 {
        left: 24.5%;
    }

    /* ABOUT US */
    .about-us_orb-1 {
        top: 26.5%;
        right: 19.6%;
    }

    .trends-container {
        padding-left: 9.5rem;
    }

    .about-us_orb-2 {
        top: 11.3%;
        left: 33.9%;
    }

    .about-us_orb-3 {
        top: 42.8%;
        left: 7.3%;
    }

    .about-us_orb-4 {
        bottom: 37.4%;
        left: 35%;
    }

    .about-us_orb-5 {
        bottom: 19.7%;
        left: 23.2%;
    }

    /* WHAT WE DO */
    .what-we-do-orb {
        top: -41%;
    }

    .sec-what-we-do-intro .intro-grid-container {
        padding-left: 9.5rem;
    }

    /* HOW WE DO IT*/
    .how-card .card-icon-wrapper {
        width: 80px;
        height: 70px;
    }

    /* INTERNATIONAL DEVELOPMENT */
    .international-content-grid {
        grid-template-columns: 1.5fr 3fr;
        gap: 130px;
    }

    /* CONTACTS */
    .sec-contacts {
        padding-bottom: 50px;
    }

    .contact-orb-main {
        top: 15%;
    }

    .contact-orb-small {
        bottom: 30%;
    }
}

@media (max-width: 992px) {
	:root {
		--side-padding: 4rem;
	}
	
    /* MENU */
    .menu .menu_wrapper {
        max-width: 700px;
    }

    .menu .page_list_wrapper {
        padding: 4.5rem;
        max-width: 510px;
    }

    .menu_constellation {
        max-width: 150px;
    }

    .menu-frame-svg {
        min-height: calc(100% + 12vh);
    }

    .menu .menu-page-list li a {
        font-size: 1.8rem;
    }

    /* FOOTER */
    .footer-info-group {
        gap: 3rem;
    }

    /* HOMEPAGE */
    .hero-image-text {
        max-width: 25ch;
    }

    /* ABOUT US */
    .trends-list .trends-item {
        padding: 0.8rem 2.5rem;
    }

    /* WHAT WE DO */
    .page-what-we-do .page-heading-section {
        padding-bottom: 7rem;
    }

    .what-we-do-orb {
        top: -32%;
    }

    .sec-what-we-do-details {
        padding-top: 0;
        padding-bottom: 7rem;
    }

    .details-content-container {
        padding-left: 6.5rem;
    }

    /* HOW WE DO IT */
    .sec-how-we-do-it {
        margin-bottom: 10rem;
    }

    .how-card {
        padding: 4rem 2.5rem;
        gap: 1.5rem;
    }

    /* HEALTHCARE */
    .node-item-1 .node-graphic {
        width: 320px;
    }
    .node-item-1 .node-title {
        max-width: 300px;
        padding-left: 75px;
    }

    .node-item-2 .node-graphic {
        width: 280px;
    }
    .node-item-2 .node-title {
        padding-left: 80px;
        margin-top: -1rem;
    }

    .node-item-3 .node-graphic {
        width: 240px;
    }
    .node-item-3 .node-title {
        max-width: 250px;
        padding-left: 70px;
        margin-top: -1rem;
    }

    .node-item-4 {
        bottom: 17.5%;
    }

    /* INTERNATIONAL DEVELOPMENT */
    .page-international-development .page-heading-section .heading-title {
        font-size: 3.5rem;
    }

    .international-content-grid {
        grid-template-columns: 2.5fr 4.5fr;
        gap: 100px;
    }

    .area-text {
        padding-left: 65px;
    }
}

@media (max-width: 768px) {
    /* MENU */
    .menu_logo_container {
        height: auto;
    }

    .menu .menu_wrapper {
        max-width: 600px;
        flex-direction: column;
    }

    .menu .page_list_wrapper {
        padding: 4.5rem;
        padding-top: 4.5rem;
        max-width: 600px;
        margin-top: 3rem;
        padding-top: 2rem;
    }

    .menu .close_bttn {
        right: 5rem;
    }

    /* HEADING */
    .page-heading-section .heading-title {
        font-size: 4rem;
    }

    .page-heading-section .heading-text p {
        font-size: 1.2rem;
    }

    /* FOOTER */
    .footer-logo {
        width: 200px;
    }

    .footer-info-group {
        gap: 2rem;
    }

    .footer-contacts p {
        font-size: 1rem;
    }

    .footer-links {
        margin: 3.2rem 0 2rem 0;
    }

    /* HOMEPAGE */
    .front-page_orb-1 {
        right: 13.7%;
    }

    .front-page_orb-3 {
        top: 42.9%;
        right: 28.7%;
    }

    .hero-title {
        font-size: 4rem;
    }

    .hero-text p {
        font-size: 1.3rem;
    }

    .hero-image-text {
        font-size: 1rem;
    }

    .hero-ending-text {
        font-size: 1.3rem;
    }

    /* ABOUT US PAGE */
    .about-us_orb-1 {
        top: 23%;
        right: 11.6%;
    }

    .about-us_orb-2 {
        top: 9.3%;
        left: 31.9%;
    }

    .trends-container {
        padding-left: var(--side-padding);
        padding-right: var(--side-padding);
    }

    .trends-title {
        font-size: 2rem;
    }

    .trends-list .trends-item {
        font-size: 1.1rem;
    }

    .about-ending-text-section .ending-text-wrapper p {
        font-size: 1.2rem;
    }

    /* WHAT WE DO PAGE */
    .what-we-do-orb {
        right: 11%;
    }

    .sec-what-we-do-intro .intro-grid-container {
        padding-left: var(--side-padding);
        padding-right: var(--side-padding);
    }

    .sec-what-we-do-intro .intro-bg-graphics {
        top: 53%;
    }

    .sec-what-we-do-intro .services-main-title {
        font-size: 2rem;
    }

    .sec-what-we-do-intro .services-card {
        padding: 3rem
    }

    .sec-what-we-do-intro .service-item {
        font-size: 1.1rem;
    }

    .details-content-container {
        padding-left: 4rem;
    }

    .sec-what-we-do-details .details-title {
        font-size: 1.2rem;
    }

    .details-subtext {
        font-size: 0.85rem;
    }

    .detail-card p {
        font-size: 1.2rem;
    }

    /* HOW WE DO IT PAGE */
    .page-how-we-do-it .page-heading-section::after {
        right: var(--side-padding);
    }

    .card-title br {
        display: none; /* Esconde a quebra de linha no mobile */
    }

    .card-title .br-space {
        display: inline; /* Mostra o espaço em branco entre as palavras no mobile */
    }

    /* HEALTHCARE */
    .page-healthcare .page-heading-section::after {
        right: var(--side-padding);
    }

    .page-healthcare .page-heading-section {
        padding-bottom: 2rem !important;
    }

    .healthcare-container {
        min-height: 600px;
    }

    .healthcare-bg-graphic {
        top: 63%;
        max-width: 600px;
    }

    .node-title {
        font-size: 1rem;
    }

    .node-item-1 {
        top: 0%;
    }
    .node-item-1 .node-graphic {
        width: 254px;
    }
    .node-item-1 .node-title {
        max-width: 290px;
        padding-left: 60px;
        margin-top: 0;
    }
    
    .node-item-2 {
        top: 23%;
        right: 0;
    }
    .node-item-2 .node-graphic {
        width: 180px;
    }
    .node-item-2 .node-title {
        padding-left: 60px;
        max-width: 200px;
    }

    .node-item-3 {
        top: 51%;
        left: 2%;
    }
    .node-item-3 .node-graphic {
        width: 170px;
    }
    .node-item-3 .node-title {
        max-width: 230px;
        padding-left: 50px;
        margin-top: 0.3rem;
    }

    .node-item-4 {
        bottom: 7.5%;
        right: 15%;
    }
    .node-item-4 .node-graphic {
        width: 250px;
    }
    .node-item-4 .node-title {
        max-width: 270px;
        padding-left: 80px;
        margin-top: 0;
    }

    /* INTERNATIONAL DEVELOPMENT PAGE */
    .page-international-development .page-heading-section .heading-title {
        font-size: 3rem;
    }

    .page-international-development .page-heading-section::after {
        bottom: 30.5%;
        left: 11.5%;
    }

    .areas-title {
        font-size: 1.8rem;
    }

    /* CONTACTS PAGE */
    .contacts-orbs-layer {
        display: none;
    }

    .contacts-wrapper {
        grid-template-columns: 1fr;
    }

    /* PRIVACY POLICY PAGE */
    .privacy-policy .hero-section {
        padding-top: 6rem !important;
        padding-left: var(--side-padding) !important;
    }

    .privacy-policy h3:first-child {
        margin-top: 0;
    }

    .wp-block-paragraph {
        font-size: 1.2rem !important;
    }
}

@media (max-width: 576px) {
    :root {
        --side-padding: 2rem;
    }
	
	main.main-wrapper {
        background-position: 25% top !important;
        background-size: cover !important;
        background-repeat: no-repeat !important;
    }

    /* MENU */
	.menu_toggle {
		--diameter: 50px;
	}
	
	.menu_toggle span {
		border-bottom: 3px solid #213761;
	}
	
	.menu_toggle::after {
		font-size: 0.7rem;
	}
	
	.menu .close_bttn span {
		border-bottom: 3px solid #fff;
	}
	
    .menu .menu_wrapper {
        padding-left: var(--side-padding);
        padding-right: var(--side-padding);
    }
	
	.menu_constellation {
		max-width: 110px;
	}
	
	.menu-frame-svg {
		min-height: 100%;
	}

    .menu .page_list_wrapper {
        padding: 3.5rem;
        margin-top: 3rem;
    }
    
    .menu .close_bttn {
        right: 2.5rem;
    }
    

    /* NAVBAR */
    nav.navbar a.custom-logo-link {
        width: 200px !important;
    }

    /* HEADING */
	.page-heading-section {
		padding-top: 2rem !important;
		padding-bottom: 7rem !important;
	}
	
	.page-heading-section .heading-title {
		font-size: 3rem;
	}
	
	.page-heading-section .heading-hero-wrapper {
		margin-bottom: 3rem;
	}
	
	.page-heading-section .heading-text p {
		font-size: 1rem;
	}
	
    .hero-section {
        padding-top: 6rem !important;
    }

    .hero-title {
        font-size: 2.5rem;
    }
	
	.hero-title::after {
		height: 30px;
	}

    .hero-text p {
        font-size: 1rem;
    }

    /* FOOTER */
    .footer-body {
        align-items: flex-start;
		padding: 4rem 0;
    }
	
	.footer-logo {
		width: 130px;
	}

    .footer-info-group {
        gap: 0;
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-links {
        margin: 2rem 0;
    }

    /* HOMEPAGE */
    .front-page_orb-1 {
        right: 15%;
        top: 2rem;
    	width: 40px;
    }
    .front-page_orb-2 {
        top: 19%;
		left: 12.8%;
    }

    .front-page_orb-3 {
        top: 36%;
		right: 18%;
    }
	
	.front-page_orb-4 {
		bottom: 26%;
		left: 50%;
	}
	
	.front-page_orb-5 {
		bottom: 7%;
		left: 20%;
	}

    .hero-image-wrapper {
        margin-top: 4rem;
    }
	
	.hero-image-title {
		font-size: 0.75rem;
	}
	
	.hero-image-text {
		font-size: 0.85rem;
	}

    .hero-ending-content {
        margin-top: 4rem;
        margin-bottom: 4rem;
    }

    .hero-ending-text {
        font-size: 1rem;
		max-width: 100%;
    }
	
	/* ABOUT US PAGE */
	.about-us_orb-1 {
		top: 33%;
	}
	.about-us_orb-2 {
		top: 25.3%;
		left: 12%;
	}
	.about-us_orb-4 {
		left: 19%;
	}
	.about-us_orb-5 {
    	left: 9.2%;
  	}
	
	.trends-container {
		padding-top: 5rem;
	}
	
	.trends-right-col {
        position: static;
        margin-top: 2.5rem;
    }

    .trends-right-col::before {
		top: 0;
		left: auto;
		right: 28px;
    	width: 62.5%;
	}

    .trends-list {
        position: relative;
        z-index: 2;
    }

    .trends-list .trends-item {
        padding-left: 0;
        padding-right: 0;
    }
	
	.about-ending-text-section .ending-text-wrapper p {
		font-size: 1rem;
	}
	
	.about-ending-text-section {
		margin-bottom: 5.5rem;
		margin-top: 5.5rem;
	}
	
	/* WHAT WE DO PAGE */
	.page-what-we-do .page-heading-section {
		padding-bottom: 3rem !important;
	}
	
	.page-what-we-do .page-heading-section .heading-text p {
		max-width: 30ch;
	}
	
	.what-we-do-orb {
		top: -4%;
	}
	
	.sec-what-we-do-intro .intro-left-col {
		padding-left: 3rem;
	}
	
    .sec-what-we-do-intro .intro-bg-graphics {
        display: none;
    }

    .sec-what-we-do-intro .intro-right-col {
        margin-top: 2rem;
    }
	
	.sec-what-we-do-intro .services-card {
		padding: 2rem;
	}
	
	.decorative-line-wrapper {
		padding-bottom: 0;
	}
	
	.details-content-container {
		padding-left: 2.5rem;
	}
	
	.sec-what-we-do-details .details-title {
		margin-bottom: 1rem;
	}
	
	.detail-card {
		padding: 2rem;
	}
	
	/* HOW WE DO IT PAGE */
	.page-how-we-do-it .page-heading-section {
		padding-bottom: 4rem !important;
	}
	
	.page-how-we-do-it .page-heading-section .heading-text p {
		max-width: 28ch;
	}
	
	.sec-how-we-do-it .row > [class*="col-"] {
		padding-top: 1rem !important;
	}
	
	/* HEALTHCARE PAGE */
	.healthcare-container {
		min-height: 480px;
	}
	
	.healthcare-orb-2 {
		top: 33%;
  		right: 32.35%;
	}
	
	.healthcare-orb-3 {
		top: 69%;
  		right: 21.3%;
	}
	
	.sec-healthcare-constellation {
		padding-bottom: 100px;	
	}
	
	.healthcare-bg-graphic {
        background: url('../img/healthcare-bg-graphic-mobile-final.svg') no-repeat center / contain;
        aspect-ratio: 5869 / 7270;   /* largura / altura do viewBox do SVG NOVO */
		width: 75%;     /* diminui: experimenta 80% ou 85% se ainda estiver grande */
		left: 50%;      /* centra no ecrã (o desktop tem 53.1%) */
		top: 50%;
    }

    .healthcare-bg-graphic svg {
        display: none;
    }
	
	/* Orbs extra (só mobile), onde estão os X */
	.healthcare-container::before,
	.healthcare-container::after {
		content: '';
		position: absolute;
		background: url('../img/healthcare_orb-1.svg') no-repeat center / contain;
		pointer-events: none;
		z-index: 1;
	}

	.healthcare-container::before {
		top: 18%;
		left: 12%;
		width: 16px;
		height: 16px;
	}

	.healthcare-container::after {
		top: 84%;
		left: 80%;
		width: 16px;
		height: 16px;
	}
	
	.center-label {
		top: 53%;
		left: 50%;
	}
	
	.center-title {
		font-size: 1.5rem;
	}
	
	.center-subtitle {
		font-size: 0.8rem
	}
	
	.node-title {
		font-size: 0.8rem;
	}
	
	.node-item-1 {
		top: -3%;
    	left: 8%;
	}
	.node-item-1 .node-graphic {
		width: 200px;
	}
	.node-item-1 .node-title {
		max-width: 200px;
		padding-left: 50px;
		margin-top: -0.5rem;
	}
	
	.node-item-2 {
		top: 10%;
    	right: 7%;
	}
	.node-item-2 .node-graphic {
    	width: 120px;
  	}
	.node-item-2 .node-title {
    	padding-left: 35px;
    	max-width: 120px;
		margin-top: -0.5rem;
  	}
	
	.node-item-3 {
		top: 85%;
    	left: 9%;
	}
	.node-item-3 .node-graphic {
		width: 140px;
	}
	.node-item-3 .node-title {
		max-width: 150px;
		padding-left: 40px;
		margin-top: -0.5rem;
	}
	
	.node-item-4 {
		bottom: -7.5%;
    	right: 8%;
  	}
	.node-item-4 .node-graphic {
		width: 145px;
	}
	.node-item-4 .node-title {
		max-width: 145px;
		padding-left: 47px;
		margin-top: -0.5rem;
	}
	
	/* INTERNATIONAL DEVELOPMENT PAGE */
	body.page-id-25 .heading-img {
        object-fit: cover;
        object-position: 30% center;
    }
	
	.sec-international-development {
		padding-bottom: 50px;
	}
	
	 .page-international-development .page-heading-section::after {
		bottom: 4.5%;
		left: 6.5%;
	}
	
	.international-content-grid {
		margin-top: -5px;
		grid-template-columns: 1fr 1.5fr;
		gap: 10px;
	}
	
	.international-left-col {
		padding-right: 0;
	}
	
	.areas-title {
		font-size: 1.6rem;
	}
	
	.areas-icon-wrapper img {
		width: 65px;
	}
	
	.area-text {
		font-size: 1.2rem;
		padding-left: 5px;
	}
	
	/* CONTACTS PAGE */
	.page-contacts .page-heading-section::after {
		top: 9%;
	}
	
	.page-contacts .page-heading-section {
		padding-bottom: 2rem !important;
	}
	
	.contacts-wrapper {
		display: block;
		min-height: 400px;
	}
	
	.sec-contacts input[type="checkbox"] {
		width: 25px !important;
		height: 25px !important;
		min-width: 25px !important;
		min-height: 25px !important;
	}
	
	/* Checkbox em cima, botão em baixo */
    .sec-contacts .form_line.mt-5 {
        flex-direction: column-reverse !important;
        align-items: flex-start !important;
        gap: 20px !important;
		margin-top: 1.5rem !important;
    }

    /* Permite que o texto da label quebre de linha em vez de sair do ecrã */
    .sec-contacts .form_line.mt-5 .wpcf7-form-control-wrap {
        max-width: 100% !important;
        white-space: normal !important;
        flex-shrink: 1 !important;
    }

	.sec-contacts .wpcf7-acceptance {
		padding-left: 0;
	}
	
    .sec-contacts .wpcf7-acceptance,
    .sec-contacts .wpcf7-acceptance label,
    .sec-contacts .wpcf7-list-item {
        max-width: 100% !important;
        white-space: normal !important;
        line-height: 1.3 !important;
    }
	
	/* PRIVACY POLICY PAGE */
	.privacy-policy .hero-section {
		padding-top: 4rem !important;
		padding-bottom: 5rem;
	}
	
	.wp-block-paragraph {
		font-size: 1rem !important;
	}
}