:root {
	--primary: #161822;
	--secondary: #8A96AE;
	--qwhite: #A8BBC9;
	--nwhite: #FAFFFF;
}

@font-face {
	font-family: 'Articulat';
	src: url('../fonts/Articulat_CF_Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Inter';
	src: url('../fonts/Inter_Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

body {
	font-family: 'Inter', sans-serif;
	background-color: var(--nwhite);
}

h1 {
	font-family: 'Articulat', sans-serif;
	font-size: 100px;
	line-height: 1.2;
	margin: 0;
}

h2 {
	font-size: 92px;
	line-height: normal;
}

p {
	font-size: 30px;
	font-weight: 400;
	line-height: normal;
}

.pl-100 {
	padding-left: 100px;
}

.pt-80 {
	padding-top: 80px;
}

.pb-80 {
	padding-bottom: 80px;
}

.pb-200 {
	padding-bottom: 200px;
}

.pt-120 {
	padding-top: 120px;
}

.mt-40 {
	margin-top: 40px;
}

.mb-40 {
	margin-bottom: 40px;
}

.mb-100 {
	margin-bottom: 100px;
}

.bg-fblack {
	background-color: var(--secondary);
	color: var(--nwhite);
}

.bg-qwhite {
	background-color: var(--qwhite);
	color: var(--nwhite);
}

.bg-nwhite {
	background-color: var(--nwhite);
	color: var(--qwhite);
}

.txt-wht {
	color: var(--nwhite);
}

.txt-qwht {
	color: var(--qwhite);
}

.link-simple {
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.link-simple:hover {
	color: var(--primary);
}

.link-comm {
	font-size: 24px;
	color: var(--qwhite);
	line-height: 0;
	text-decoration: none;
	border: 2px solid var(--qwhite);
	border-radius: 18px;
	padding: 8px 18px;
	background-color: transparent;
	transition: all 0.3s ease-in-out;
}

.link-comm:hover {
	background-color: var(--qwhite);
	color: var(--nwhite);
	border-color: var(--qwhite);
}

p {
	margin: 0;
}

.div-20 {
	padding: 20px;
}

.hero-logo img {
	max-width: 280px;
}

.line-section {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin: 40px 0;
	/* adjust spacing as needed */
}

.line {
	height: 2px;
	/* line thickness */
	background: var(--nwhite);
	/* white line */
	flex: 0 0 40%;
	/* fixed 40% width */
}

.left-line {
	margin-right: auto;
}

.right-line {
	margin-left: auto;
}


.headline-block {
	position: relative;
	/* anchor point for corners */
	display: inline-block;
	padding-bottom: 20px;
	/* spacing so corner doesn't overlap text */
}

.corner {
	position: absolute;
	width: 60px;
	/* adjust to match design */
	height: auto;
}

.sub-text {
	margin-top: 20px;
	font-size: 18px;
	line-height: 1.5;
}


#fp-nav ul li a span {
	background: var(--nwhite);
	height: 10px;
	width: 10px;
	margin: -6px 0 0 -6px;
	border-radius: 100%;
	opacity: 0.5;
}

#fp-nav ul li a.active span {
	background: var(--nwhite);
	height: 10px;
	width: 10px;
	margin: -6px 0 0 -6px;
	border-radius: 100%;
	opacity: 1;
}

/* On the 3rd section (index 2), change to black */
.fp-viewing-2 #fp-nav ul li a span {
	background: var(--qwhite);
	opacity: 0.5;
}

.fp-viewing-2 #fp-nav ul li a.active span {
	background: var(--qwhite);
	opacity: 1;
}


/* 🖼 Fixed Illustration behind content but above backgrounds */
.background-illustration {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 300vh;
	/* 3 slides */
	z-index: 1;
	/* Between background and content */
	pointer-events: none;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	overflow: hidden;
}

.background-illustration img {
	height: 300vh;
	width: auto;
	object-fit: contain;
	object-position: center top;
	transition: transform 1s ease-in-out;
	/* smooth slide movement */
	transform: translateY(0%);
	/* start at top */
}

/* 👇 Section wrapper from fullPage.js */
.section {
	position: relative;
	height: 100vh;
	overflow: hidden;
	display: flex;
	align-items: center;
}

.section-bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	/* Below content and illustration */
}

/* 📦 Content above background and illustration */
.section-content {
	position: relative;
	z-index: 2;
	width: 100%;
}

.services-bg {
	background-image: url("/assets/images/line_art_1.svg");
	/* replace with your image path */
	background-size: contain;
	/* cover the entire div */
	background-position: center;
	/* center the image */
	background-repeat: no-repeat;
	/* prevent tiling */
	border-radius: 18px;
	/* optional if you want rounded corners */
	padding: 100px 40px;
	/* give some spacing so text is readable */
	color: var(--nwhite);
	/* make text visible if bg is dark */
}

.service-cont p {
	margin: 0;
}

.service-cont {
	background-color: var(--qwhite);
	padding: 20px 10px;
	border-radius: 10px;
}

.accordion-button:focus {
	box-shadow: none;
	border: none;
}

.accordion {
	background-color: transparent;
	border: none;
}

.accordion-button::after {
	display: none;
}

.custom-arrow {
	width: 16px;
	height: 16px;
	transition: transform 0.3s ease;
}

.accordion-item {
	background-color: transparent;
	border: 2px solid var(--nwhite);
	border-radius: 18px;
	overflow: hidden;
}

/* .accordion-item:first-of-type .accordion-button {
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
} */

.accordion-button {
	font-size: 21px;
	background-color: transparent;
	color: var(--nwhite) !important;
	border-radius: 18px !important;
	box-shadow: none;
}

.accordion-item:first-of-type {
	border-top-left-radius: 18px;
	border-top-right-radius: 18px;
}

.accordion-item:last-of-type {
	border-bottom-right-radius: 18px;
	border-bottom-left-radius: 18px;
}

.accordion-body {
	font-family: 'Articulat', sans-serif;
	font-size: 21px;
	color: var(--nwhite);
}

.accordion-button[aria-expanded="true"] .custom-arrow {
	transform: rotate(180deg);
}

.accordion-button:not(.collapsed) {
	background-color: transparent;
	box-shadow: none;
}


.sec-logo {
	margin-bottom: 200px;
}


.sec-third-div img {
	padding: 26px;
}

.sec-third-div p {
	font-size: 26px;
	font-family: 'Articulat', sans-serif;
}

.socials {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 20px;
}

.socials img {
	/* width: 30px; */
	width: 100px;
	height: auto;
}



/* Fade-up animation */
@keyframes fadeUp {
	from {
		opacity: 0;
		transform: translateY(40px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.section-content {
	opacity: 0;
	transform: translateY(40px);
}

.section-content.active {
	animation: fadeUp 0.9s ease-out forwards;
}

@media screen and (min-width: 1920px) {

	.accordion-button,
	.accordion-body {
		font-size: 24px;
	}
}

@media screen and (min-width: 1440px) and (max-width: 1919px) {
	h1 {
		font-size: 90px !important;
	}

	h2 {
		font-size: 72px;
	}

	p {
		font-size: 26px;
	}

	.hero-logo img {
		max-width: 265px;
	}

	.services-bg {
		padding: 70px 40px;
		margin-bottom: 30px;
	}/*New*/

	.accordion-button,
	.accordion-body {
		font-size: 18px;
	}

	.section-third .section-bg {
		background-size: 110% !important;
	}

	.sec-logo {
		margin-bottom: 120px;
	}

	.sec-third-div p {
		font-size: 20px;
	}

	.sec-third-div img {
		width: 100px;
		padding: 20px;
	}

	.link-comm {
		font-size: 18px;
	}

	.socials img {
		/* width: 26px; */
		width: 80px;
	}
}

@media screen and (min-width: 1366px) and (max-width: 1399px) {
	h1 {
		font-size: 86px;
	}

	h2 {
		font-size: 72px;
	}

	p {
		font-size: 26px;
	}

	.accordion-button,
	.accordion-body {
		font-size: 18px;
	}

	.sec-logo {
		margin-bottom: 140px;
	}

	.section-third .section-bg {
		background-size: 115% !important;
	}

	.sec-third-div {
		max-width: 260px;
	}

	.sec-third-div p {
		font-size: 22px;
	}

	.sec-third-div img {
		width: 110px;
		height: auto;
		padding: 20px;
	}

	.link-comm {
		font-size: 18px;
	}

	.socials img {
		/* width: 24px; */
		width: 80px;
	}
}

@media screen and (min-width:992px) {
	#web-ver {
		display: block;
	}

	#mob-ver {
		display: none;
	}

	.corner-top-left {
		top: 0;
		left: 0;
		transform: translate(-30%, -30%);
	}

	.corner-bottom-right {
		bottom: 20px;
		right: 20px;
		transform: translate(0%, 0%);
	}

	.accordion {
		display: block;
		max-width: 98%;
		margin-left: auto;
		margin-right: auto;
	}

	.section-third .section-bg {
		background: url('/assets/images/line_work.png') no-repeat center center;
		background-size: 100%;
	}

	.sec-third-div {
		display: flex;
		flex-direction: column;
		align-items: center;
		/* centers image + text block */
		justify-content: center;
		text-align: left;
		/* keeps the text left-aligned */
		max-width: 280px;
		/* optional: controls text width */
		margin: 0 auto;
		/* ensures the whole block stays centered */
	}
}


@media screen and (max-width:991px) {
	#mob-ver {
		display: block;
	}

	#web-ver {
		display: none !important;
	}

	.background-illustration {
		display: none !important;
	}

	h1 {
		font-size: 48px;
	}

	h2 {
		font-size: 34px;
		line-height: normal;
	}

	p {
		font-size: 16px;
	}

	.mb-100 {
		margin-bottom: 70px;
	}

	.m-mt-30 {
		margin-top: 30px !important;
	} /*New*/

	.m-mt-40 {
		margin-top: 40px;
	}

	.m-mb-20 {
		margin-bottom: 20px;
	}


	.pl-100 {
		padding-left: 20px;
	}


	.line {
		height: 1px;
		/* line thickness */
		background: var(--nwhite);
		/* white line */
		flex: 0 0 40%;
		/* fixed 40% width */
	}

	.hero-logo img {
		max-width: 86px;
	}

	.hero-cont h1 {
		margin-top: 180px;
		padding-top: 10px;
		padding-left: 15px;
	}

	.corner-top-left {
		width: 30px;
	}

	.corner-bottom-right {
		max-width: 30px;
		height: auto;
		right: 15px;
		transform: translate(0%, -90%);
	}

	.accordion {
		max-width: 70%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 40px !important; /*New*/
	}

	.accordion-button,
	.accordion-body {
		font-size: 12px;
		line-height: normal;
	}

	/* .sec-logo {
    margin-bottom: 50px;
  } */
	.sec-logo img {
		max-width: 50px;
    height: auto;
	}

	.section-third .section-bg {
		background: url('/assets/images/line_work_mob.png') no-repeat center center;
		background-size: 100%;
	}

	/* .f-block { 
		bottom: 160px;
	} */ /*New*/

	.sec-third-div p {
		font-size: 16px;
	}

	.sec-third-div img {
		max-width: 70px;
		height: auto;
		padding: 10px;
	}

	.socials {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 8px !important;
	}

	.socials img {
		/* max-width: 20px; */
		max-width: 60px;
		height: auto;
	}

	.link-comm {
		font-size: 10px;
		color: var(--qwhite);
		line-height: 0;
		text-decoration: none;
		border: 1px solid var(--qwhite);
		border-radius: 18px;
		padding: 5px 8px;
		background-color: transparent;
		transition: all 0.3s ease-in-out;
	}

	.link-comm svg {
		max-width: 6px;
	}

	.footer {
		margin-bottom: 20px !important;
	} /*New*/

}

/* ========================= */
/* Device Specific Fixes     */
/* ========================= */

/* iPhone 16 Pro Max (typical resolution 430px × 932px) */
@media only screen 
  and (device-width: 430px) 
  and (device-height: 932px) 
  and (-webkit-device-pixel-ratio: 3) {
	.m-mt-30 {
		margin-top: 30px !important;
	} /*New*/
	.accordion {
		max-width: 70%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 40px !important; /*New*/
	}
  
	.socials {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 8px !important; /*New*/
	}
  	.footer {
		margin-bottom: 20px !important;
	} /*New*/
}

/* Pixel 8 (typical resolution 412px × 915px) */
@media only screen 
  and (device-width: 412px) 
  and (device-height: 915px) 
  and (-webkit-device-pixel-ratio: 3) {
	.m-mt-30 {
		margin-top: 30px !important;
	} /*New*/
	.accordion {
		max-width: 70%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 40px !important; /*New*/
	}

	.socials {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 8px !important; /*New*/
	}
  	.footer {
		margin-bottom: 20px !important;
	} /*New*/
}
