@media (max-width: 767px) {
    .btn-wrapper {
        justify-content: center;
    }
	.page-intro .intro-banner-inner h2:first-child, .page-intro .intro-banner-inner h3:first-child {
		font-size: 40px;
		line-height: 52px;
	}
    #masthead .navbar {
        background: rgba(255,255,255,0.25);
    }
	#masthead .navabr-brand, #masthead .custom-logo-link {
		width: 115px;
	}
	.navbar-button.navbar-get-quotes {
		display: none;
	}
	.services-header {
		padding-left: 25px;
		padding-right: 25px;
	}
	.services-header .services-nav {
		gap: 25px 35px;
	}
	.services-header .services-nav .service-nav-link {
		padding: 8px 0;
	}
	.services-nav-bar {
		display: none;
	}
	.services-nav::after {
		bottom: -25px;
	}
	.services-nav .service-nav-item::after {
		content: '';
		display: block;
		position: absolute;
		width: 100%;
		height: 1px;
		background: #BCA288;
		opacity: 0;
		bottom: 0;
		left: 50%;
		transform: translate(-50%, 0);
	}
	.services-nav .service-nav-item.active::after {
		opacity: 1;
	}
	#masthead .navbar-col.col-left {
		padding-left: 25px;
	}
	.navbar-button.navbar-toggler {
		padding: 40px 25px;
	}
	.navbar-container {
		width: 90%;
		padding: 40px 25px;
	}
	#masthead .navbar-nav {
		gap: 32px;
	}
	#masthead .navbar-nav > .menu-item > a {
		font-size: 26px;
		line-height: 35px;
	}
	#masthead .menu-item-dropdown::before, #masthead .menu-item-dropdown::after {
		width: 20px;
	}
    .home .page-intro .intro-banner {
        padding-top: 380px;
    }
    .page-intro .intro-banner {
        padding-top: 280px;
    }
    .home .page-intro .intro-banner h1, .home .page-intro .intro-banner h2 {
        font-size: 65px;
        line-height: 85px;
    }
    .home .page-intro .intro-banner h1 b {
        font-size: 106px;
        line-height: 65px;
        transform: translateY(-12px);
    }
    .section-title h2 {
        font-size: 50px;
        line-height: 62px;
    }
    .section-title h2 b {
        font-size: 60px;
        line-height: 72px;
        margin-top: -12px;
    }
    .section-title h3 {
        font-size: 42px;
        line-height: 50px;
    }
	.section-title p, p {
		font-size: 18px;
		line-height: 24px;
	}
    .page-intro .page-intro-row {
        height: 600px;
    }
    #about {
        padding-top: 250px;
        padding-bottom: 350px;
    }
    #about::before {
        width: 300px;
        height: 300px;
        top: auto;
        bottom: 0;
    }
    .grid-services {
        max-width: 90%;
        margin: auto;
    }
    .grid-services .grid-item:not(:last-child) {
        margin-bottom: 30px;
    }
    .grid-services .grid-item .grid-overlay {
        z-index: 2;
    }
    .grid-services .grid-item .grid-thumbnail::before {
        content: '';
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        background: linear-gradient(0deg, #000, rgba(0,0,0,0) );
        transition: all 0.3s ease;
        opacity: 0;
        z-index: 1;
    }
    .grid-services .grid-item:hover .grid-thumbnail::before {
        opacity: 1;
    }
    .grid-metric {
        grid-template-columns: repeat(1, 1fr);
    }
    #sculpting-timeless .section-title h1 b, #sculpting-timeless .section-title h2 b, #sculpting-timeless .section-title h3 b {
        font-size: 120px;
        line-height: 110px;
    }
    #sculpting-timeless .section-title h2 {
        font-size: 35px;
        line-height: 42px;
    }
    #sculpting-timeless .section-title h2 b {
        margin-left: 0;
    }
    .legacy .tab-content {
        padding-left: 25px;
        padding-right: 25px;
    }
    #grid-materials {
        grid-template-columns: repeat(2, 1fr);
    }
    .grid-materials .grid-thumbnail {
        height: 275px;
    }
    #managing-director {
        padding-bottom: 0;
    }
    #managing-director::before {
        height: 100%;
    }
    .portrait-card.pc-image {
        margin-bottom: 30px;
    }
    .portrait-card.pc-content {
        padding: 50px;
    }
    .services-nav {
        gap: 25px 50px;
    }
    .services-nav .service-nav-link {
        padding: 12px 0;
    }
	.legacy-nav .legacy-nav-item {
		font-size: 40px;
		line-height: 52px;
	}
    #location {
        padding: 60px 0 90px;
    }
	#about-teck-huat {
		padding-top: 300px;
	}
	#about-teck-huat::before {
		width: 250px;
		height: 500px;
		top: -200px;
		left: 25px;
	}
    .footer-row.footer-upper .footer-column {
        margin-bottom: 50px;
    }
    .footer-row.footer-lower .footer-column p {
        text-align: center;
        font-size: 14px;
        line-height: 20px;
    }
    .footer-row.footer-lower .footer-column.footer-column-1 {
        margin-bottom: 15px;
    }
    #colophon {
        padding-top: 60px;
        padding-bottom: 25px;
    }
    .coming-soon-box {
        
    }
    .coming-soon-box h2 {
        font-size: 40px;
        line-height: 52px;
    }
    .coming-soon-box p {
        
    }
}
@media (min-width: 768px) {
    .page-intro .intro-banner .intro-banner-inner {
        max-width: 100%;
    }
    .home .page-intro .intro-banner .intro-banner-inner {
        text-align: left;
    }
    .footer-column.footer-column-1 {
        display: flex;
        flex-direction: row;
        gap: 24px;
    }
    .footer-row.footer-upper .footer-column.footer-column-2 {
        width: max-content;
        display: block;
        margin-left: auto;
    }
    .footer-upper .footer-column.footer-column-1 .footer-col, .footer-upper .footer-column.footer-column-2 .footer-col {
        padding-top: 50px;
    }
    .footer-upper .footer-column.footer-column-1 .footer-col:first-child {
        padding-top: 0;
    }
    .footer-column.footer-column-1 .footer-col .wp-block-heading {
        font-size: 1.145833vw;
        line-height: 1.458333vw;
    }
    .footer-row.footer-upper {
        margin-bottom: 100px;
    }
    .footer-row.footer-lower::before {
        content: '';
        display: block;
        position: absolute;
        top: -50px;
        left: 0;
        width: 100%;
        height: 1px;
        background: var(--primary-gold);
    }
    .footer-lower p strong, .footer-lower p a, .footer-lower p strong a {
        font-size: inherit;
        line-height: inherit;
        color: inherit;
    }
    .footer-lower p {
        font-size: 0.729167vw;
        color: rgba(255, 255, 255, 0.5);
    }
    .footer-lower p strong {
        color: var(--primary-white);
    }
    .footer-row.footer-lower .footer-column.footer-column-2 p {
        text-align: right;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .home .page-intro .intro-banner {
        padding-top: 540px;
    }
    .home .page-intro .intro-banner h1, .home .page-intro .intro-banner h2 {
        font-size: 80px;
        line-height: 80px;
    }
    #about {
        padding-top: 200px;
    }
    #about::before {
        width: 380px;
        height: 380px;
        left: auto;
        right: 0;
    }
    .grid-services {
        gap: 15px;
    }
    .grid-services .grid-thumbnail {
        height: 320px;
    }
    .grid-metric {
        margin-top: 50px;
    }
    #sculpting-timeless .section-title h2 {
        font-size: 50px;
        line-height: 65px;
    }
    #grid-materials {
        grid-template-columns: repeat(2, 1fr);
    }
    .grid-materials .grid-thumbnail {
        height: 350px;
    }
}
@media (max-width: 991px) {
    .footer-row.footer-upper .footer-column.footer-column-1 {
        flex-direction: column;
    }
}
@media (min-width: 992px) {
    .portrait-card.pc-content {
        padding: 60px 50px;
        width: calc(100% + 50px);
        margin-left: -50px;
    }
}
@media (min-width: 1200px) {
    p, a, li, input, textarea, select, textarea, label {
        font-size: 1.041667vw;
        line-height: 1.666667vw;
    }
    .page-intro .intro-banner {
        padding-top: 280px;
    }
    .home .page-intro .intro-banner {
        padding-top: 400px;
    }
    .page-intro .intro-banner .intro-banner-inner {
        max-width: 75%;
    }
    .page-intro .page-intro-row {
        height: 620px;
    }
    .section-title h2 {
        font-size: 50px;
        line-height: 62px;
    }
    .section-title h3 {
        font-size: 32px;
        line-height: 45px;
    }
    .section-title p {
        font-size: 18px;
        line-height: 24px;
    }
    a.btn, button.btn, .sub-menu > .menu-item > a {
        font-size: 16px;
    }
    .section-title p {
        font-size: 14px;
        line-height: 20px;
    }
    .home .page-intro .intro-banner h1, .home .page-intro .intro-banner h2 {
        font-size: 110px;
        line-height: 120px;
    }
    .navbar-button, .navbar-container {
        padding: 40px 50px;
    }
    .navbar-container {
        gap: 70px;
    }
    .page-intro .intro-banner-inner h2:first-child, .page-intro .intro-banner-inner h3:first-child {
        font-size: 68px;
        line-height: 80px;
    }
    .page-intro .intro-banner-inner h2:nth-child(2), .page-intro .intro-banner-inner h3:nth-child(2) {
        font-size: 20px;
        line-height: 24px;
    }
    .footer-row.footer-upper .footer-column.footer-column-2 p {
        font-size: 16px;
        line-height: 29px;
    }
    .footer-row.footer-lower .footer-column p {
        font-size: 10px;
        line-height: 13px;
    }
}
@media (min-width: 1440px) {
    .page-intro .page-intro-row {
        height: 650px;
    }
    .section-title h3 {
        font-size: 60px;
        line-height: 72px;
    }
    .home .page-intro .intro-banner {
        padding-top: 400px;
    }
    .section-title h2 {
        font-size: 70px;
        line-height: 84px;
    }
	.section-title p {
        font-size: 16px;
        line-height: 24px;
    }
    .home .page-intro .intro-banner h1, .home .page-intro .intro-banner h2 {
        font-size: 120px;
        line-height: 75px;
    }
    .home .page-intro .intro-banner h1 b {
        font-size: 230px;
        line-height: 267px;
        transform: translateY(-30px);
    }
    #about .section-title h3 {
        font-size: 44px;
        line-height: 55px;
    }
    #sculpting-timeless::before { 
        width: 45vw;
        height: 45vw;
    }
    #about::before { 
        width: 31vw;
        height: 31vw;
    }
    #sculpting-timeless {
        height: 900px;
    }
    .page-intro .intro-banner h1, .page-intro .intro-banner h2 {
        font-size: 68px;
        line-height: 82px;
    }
    .grid-metric .grid-item .grid-title {
        font-size: 58px;
        line-height: 65px;
    }
    .grid-metric .grid-item .grid-paragraph {
        font-size: 17px;
        line-height: 19px;
    }
    #about-teck-huat .section-title h3 {
        font-size: 50px;
        line-height: 62px;
    }
}
@media (min-width: 1600px) {
    .navbar-button, .navbar-container {
        padding: 60px 80px;
    }
    .navbar-container {
        gap: 90px;
    }
    .portrait-card.pc-content h4 {
        font-size: 44px;
        line-height: 62px;
    }
    .grid-services .grid-thumbnail {
        height: 550px;
    }
    .grid-our-services .grid-thumbnail .grid-thumbnail-inner {
        height: 500px;
    }
}
@media (min-width: 1900px) {
    .home .page-intro .intro-banner h1, .home .page-intro .intro-banner h2 {
        font-size: 150px;
        line-height: 125px;
    }
    .home .page-intro .intro-banner {
        padding-top: 560px;
    }
    .page-intro .page-intro-row {
        height: 850px;
    }
	.page-intro .intro-banner {
		padding-top: 360px;
	}
    .grid-services .grid-thumbnail {
        height: 650px;
    }
    .grid-our-services .grid-thumbnail .grid-thumbnail-inner {
        height: 600px;
    }
}
@media (min-width: 2150px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1800px;
    }
}