@charset "utf-8";

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

:root {
	/* Backgrounds */
	--bg-dark:     #D1D5DB;   /* appWindow    — page canvas */
	--bg-light:    #E5E7EB;   /* surfaceLow   — panel / left-panel */
	--bg-header:   #E2E8F0;   /* toolbarBackground */
	--surface:     #FFFFFF;   /* surface      — cards, form inputs */
	--surface-alt: #F3F4F6;   /* surfaceAlt   — subtle card variant */

	/* Text */
	--text-primary:   #222222; /* appText */
	--text-secondary: #777777; /* mutedText */

	/* Accent */
	--accent:       #0288D1;   /* accent (cyan-blue) */
	--accent-hover: #0254D1;   /* controlAccent */

	/* Button */
	--button-primary: #DBE4F0;
	--button-accent: #0254D1;

	/* Chips and Secondary */
	--secondary-primary: #DBE4F0;
	--secondary-accent: #C4D1E1;

	/* Primary */
	--primary:         #19327F;
	--primary-hover:   #2241A1;
	--primary-disabled:#A0A8C0;

	--label-primary: #2C3E50;

	/* Borders */
	--border:        #E0E0E0;
	--border-strong: #666666;
	--border-hover:  #999999;

	/* Popup */
	--popup-bg: #F8FAFC;   /* popupBackground */
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: 'Inter', sans-serif;
	background: var(--bg-dark);
	color: var(--text-primary);
	overflow-x: hidden;
}

/* ─── Header ─────────────────────────────────────────────── */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 0.35rem 5%;

	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;

	z-index: 1000;
	background: #19327f;
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--border);
}

.logo {
	font-family: 'Inter', sans-serif;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: -1px;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	text-decoration: none;
	color: #FFFFFF;
	transition: opacity 0.3s ease;
}

.logo-icon {
	width: 40px;
	height: 40px;
}

.desktop-nav {
	display: flex;
	gap: 2.5rem;
	list-style: none;
}

.desktop-nav a {
	color: var(--text-secondary);
	text-decoration: none;
	font-size: 1.1rem;
	font-weight: 400;
	transition: all 0.3s ease;
	position: relative;
	padding-bottom: 0.5rem;
}

.desktop-nav a::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 2px;
	background: var(--accent);
	transition: all 0.3s ease;
	transform: translateX(-50%);
}

.desktop-nav a:hover {
	color: var(--text-primary);
}

.desktop-nav a:hover::before {
	width: 100%;
}

.desktop-nav a.active {
	color: var(--text-primary);
}

.desktop-nav a.active::before {
	width: 100%;
	background: var(--primary);
}

.menu-icon {
	display: none;
	width: 40px;
	height: 40px;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-radius: 50%;
	transition: border-color 0.3s ease;
	position: relative;
	z-index: 1002;
}

.menu-icon:hover {
	border-color: var(--accent);
}

.menu-icon span {
	display: block;
	width: 18px;
	height: 2px;
	background: var(--text-primary);
	position: relative;
}

.menu-icon span::before,
.menu-icon span::after {
	content: '';
	position: absolute;
	width: 18px;
	height: 2px;
	background: var(--text-primary);
	transition: all 0.3s ease;
}

.menu-icon span::before { top: -6px; }
.menu-icon span::after  { top:  6px; }

/* ─── Mobile Menu ────────────────────────────────────────── */
.mobile-nav {
	position: fixed;
	top: 0;
	right: -100%;
	width: 100%;
	max-width: 400px;
	height: 100vh;
	background: rgba(248, 250, 252, 0.98);   /* popupBackground */
	backdrop-filter: blur(20px);
	border-left: 1px solid var(--border);
	z-index: 1001;
	padding: 120px 3rem 3rem;
	transition: right 0.3s ease-out;
}

.mobile-nav.active {
	right: 0;
}

.mobile-nav-close {
	position: absolute;
	top: 2rem;
	right: 2rem;
	width: 40px;
	height: 40px;
	background: transparent;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 50%;
	color: var(--text-primary);
	font-size: 1.5rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	line-height: 1;
}

.mobile-nav-close:hover {
	border-color: var(--accent);
	color: var(--accent);
	transform: rotate(90deg);
}

.mobile-nav ul {
	list-style: none;
}

.mobile-nav li {
	margin-bottom: 1.5rem;
}

.mobile-nav a {
	font-family: 'Inter', sans-serif;
	font-size: 1.8rem;
	color: var(--text-primary);
	text-decoration: none;
	transition: all 0.3s ease;
	display: block;
}

.mobile-nav a:hover {
	color: var(--accent);
	transform: translateX(10px);
}

.mobile-nav a.active {
	color: var(--accent);
}

.mobile-nav-footer {
	position: absolute;
	bottom: 3rem;
	left: 3rem;
	right: 3rem;
}

.mobile-nav-footer p {
	color: var(--text-secondary);
	font-size: 0.9rem;
	margin-bottom: 1rem;
}

.mobile-nav-footer a {
	font-size: 0.9rem;
	color: var(--accent);
}

/* ─── Split Screen Container ─────────────────────────────── */
.split-container {
	display: flex;
	height: 100vh;
	min-height: 700px;
	padding-top: 55px;
	position: relative;
}

.left-panel {
	flex: 1;
	position: relative;
	overflow: hidden;
	background: var(--bg-light);
}

.image-container {
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.8s ease;
}

.image-container.active {
	opacity: 1;
}

.project-image {
	width: 80%;
	height: 80%;
	background-size: contain;
	background-position: center;
	position: relative;
	overflow: hidden;
	background-repeat: no-repeat;
}

.image-container:nth-child(1) .project-image {
	background-image: url('https://www.toolboxcomparisons.com/assets/images/systems/HyperStackSystem.png');
}

.image-container:nth-child(2) .project-image {
	background-image: url('https://www.toolboxcomparisons.com/assets/images/systems/BuildoutSystem.png');
}

.image-container:nth-child(3) .project-image {
	background-image: url('https://www.toolboxcomparisons.com/assets/images/systems/ModboxSystem.avif');
}

.image-container:nth-child(4) .project-image {
	background-image: url('https://www.toolboxcomparisons.com/assets/images/systems/PackoutSystem.avif');
}

.image-container:nth-child(5) .project-image {
	background-image: url('https://www.toolboxcomparisons.com/assets/images/systems/ToughBuiltSystem.png');
}

.right-panel {
	flex: 1;
	padding: 5%;
	overflow-y: auto;
	position: relative;
	background: var(--surface-alt);   /* slightly warmer than the canvas */
}

.project-details {
	position: absolute;
	top: 5%;
	left: 5%;
	right: 5%;
	padding-bottom: 3rem;
	opacity: 0;
	transform: translateY(30px);
	transition: all 0.6s ease;
	pointer-events: none;
}

.project-details.active {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.project-number {
	font-family: 'Inter', sans-serif;
	font-size: 1rem;
	color: var(--text-secondary);
	margin-bottom: 1rem;
	letter-spacing: 2px;
}

.project-title {
	font-family: 'Inter', sans-serif;
	font-size: clamp(2.5rem, 5vw, 4rem);
	font-weight: 700;
	line-height: 1.1;
	margin-bottom: 1.5rem;
	letter-spacing: -2px;
}

.project-category {
	display: inline-block;
	padding: 0.5rem 1.5rem;
	background: var(--label-primary);
	color: #fff;
	font-size: 0.85rem;
	font-weight: 600;
	font-family: 'Inter', sans-serif;
	letter-spacing: 1px;
	margin-bottom: 2rem;
	text-transform: uppercase;
}

.project-description {
	font-family: 'Inter', sans-serif;
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.8;
	color: var(--text-primary);
	margin-bottom: 3rem;
	max-width: 600px;
}

.project-info {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 2rem;
	margin-bottom: 3rem;
	padding: 2rem 0;
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
	font-family: 'Inter', sans-serif;
}

.info-item h4 {
	font-size: 0.85rem;
	color: var(--text-secondary);
	margin-bottom: 0.5rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-family: 'Inter', sans-serif;
}

.info-item p {
	font-size: 1.1rem;
	font-weight: 600;
	font-family: 'Inter', sans-serif;
}

.project-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-bottom: 3rem;
}

.tag {
	padding: 0.5rem 1rem;
	background: rgba(0, 0, 0, 0.04);
	border: 1px solid var(--border);
	font-size: 0.9rem;
	color: var(--text-secondary);
}

.view-project-btn {
    /* 1. Change from inline-block to block */
    display: block; 
    
    /* 2. Set width to 100% */
    width: 90%; 

    /* 3. Ensure text is centered (block elements align left by default) */
    text-align: center;

    /* 4. Ensure padding doesn't push the button outside the container */
    box-sizing: border-box;

    /* Your existing styles */
    padding: 1rem 2.5rem;
    background: var(--primary-hover);
    color: var(--surface);
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 0.9rem;
    font-family: 'Inter', sans-serif;
    transition: all 0.3s ease;
    margin-bottom: 1.5rem;
}

.view-project-btn:hover {
	background: var(--button-accent);
	border-color: var(--border-hover);
	color: #fff;
	transform: translateX(-10px);
}

/* ─── Navigation Arrows ──────────────────────────────────── */
.navigation {
	position: absolute;
	top: 9%;
	right: 5%;
	display: flex;
	gap: 1rem;
	z-index: 100;
}

.nav-arrow {
	width: 50px;
	height: 50px;
	background: transparent;
	border: 1px solid var(--border-strong);
	border-radius: 8px;
	color: var(--primary);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	backdrop-filter: blur(10px);
}

.nav-arrow:hover {
	background: var(--button-accent);
	border-color: var(--border-hover);
	transform: scale(1.1);
}

.nav-arrow.disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

.nav-arrow.disabled:hover {
	background: rgba(0, 0, 0, 0.04);
	transform: scale(1);
}

.arrow {
	width: 16px;
	height: 16px;
	border-top: 2px solid var(--primary);
	border-right: 2px solid var(--primary);
}

.arrow-left  { transform: rotate(-135deg); }
.arrow-right { transform: rotate(45deg); }

/* ─── Progress Indicator ─────────────────────────────────── */
.progress-indicator {
	position: absolute;
	left: 2%;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	z-index: 100;
}

.progress-dot {
	width: 12px;
	height: 12px;
	background: rgba(0, 0, 0, 0.15);
	border-radius: 50%;
	cursor: pointer;
	transition: all 0.3s ease;
}

.progress-dot.active {
	background: var(--accent);
	transform: scale(1.5);
}

.progress-dot:hover {
	background: var(--text-primary);
}

/* ─── Project Controls Wrapper ───────────────────────────── */
.project-controls {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
	z-index: 100;
	opacity: 1;
	transition: opacity 0.3s ease;
}

.project-controls.hidden {
	opacity: 0;
	pointer-events: none;
}

.project-controls .navigation,
.project-controls .progress-indicator {
	pointer-events: auto;
}

.project-controls.hidden .navigation,
.project-controls.hidden .progress-indicator {
	pointer-events: none;
}

/* ─── About Section ──────────────────────────────────────── */
.about-section {
	min-height: 100vh;
	display: flex;
	align-items: center;
	padding: 100px 5%;
	background: var(--surface);
}

.about-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5rem;
	max-width: 1400px;
	margin: 0 auto;
	align-items: center;
}

.about-image {
	position: relative;
	aspect-ratio: 3/4;
	background-image: url('https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?w=600&h=800&fit=crop');
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.about-image::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.15);
}

.about-content h2 {
	font-family: 'Inter', sans-serif;
	font-size: clamp(2.5rem, 5vw, 4rem);
	font-weight: 700;
	line-height: 1.1;
	margin-bottom: 2rem;
	letter-spacing: -2px;
}

.about-content p {
	font-family: 'Inter', sans-serif;
	font-size: 1.2rem;
	line-height: 1.8;
	color: var(--text-secondary);
	margin-bottom: 1.5rem;
}

.about-content p a {
	color: var(--accent);
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.about-content p a:hover {
	opacity: 0.75;
}

.about-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-top: 3rem;
	padding-top: 3rem;
	border-top: 1px solid var(--border);
}

.stat-item {
	position: relative;
	padding: 2rem 1.5rem;
	background: var(--surface-alt);
	border: 1px solid var(--border);
	text-align: center;
	transition: all 0.3s ease;
}

.stat-item:hover {
	background: var(--bg-light);
	border-color: var(--border-hover);
	transform: translateY(-3px);
}

.stat-item::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 30px;
	border-top: 2px solid var(--accent);
	border-left: 2px solid var(--accent);
}

.stat-item::after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 30px;
	height: 30px;
	border-bottom: 2px solid var(--border-strong);
	border-right: 2px solid var(--border-strong);
}

.stat-item h3 {
	font-family: 'Inter', sans-serif;
	font-size: 3.5rem;
	font-weight: 700;
	color: var(--primary);
	margin-bottom: 0.5rem;
	line-height: 1;
}

.stat-item p {
	font-size: 0.85rem;
	color: var(--text-secondary);
	text-transform: uppercase;
	letter-spacing: 2px;
}

/* ─── Services Section ───────────────────────────────────── */
.services-section {
	min-height: 100vh;
	padding: 100px 5%;
	display: flex;
	align-items: center;
	background: var(--bg-dark);
}

.services-container {
	max-width: 1400px;
	margin: 0 auto;
	width: 100%;
}

.section-header {
	text-align: center;
	margin-bottom: 5rem;
}

.section-header h2 {
	font-family: 'Inter', sans-serif;
	font-size: clamp(2.5rem, 5vw, 4rem);
	font-weight: 700;
	line-height: 1.1;
	margin-bottom: 1rem;
	letter-spacing: -2px;
}

.section-header p {
	font-family: 'Inter', sans-serif;
	font-size: 1.2rem;
	color: var(--text-secondary);
}

.services-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 2rem;
}

.service-card {
	padding: 3rem 2rem;
	background: var(--surface);
	border: 1px solid var(--border);
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
}

.service-card:hover {
	background: var(--surface-alt);
	border-color: var(--border-hover);
	transform: translateY(-5px);
}

.service-number {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: 100px;
	margin-bottom: 1.5rem;
	font-family: 'Inter', sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--primary);
}

.service-number::before,
.service-number::after {
	content: '';
	position: absolute;
	width: 82px;
	height: 82px;
	border: 2px solid;
}

.service-number::before {
	top: 0;
	left: 0;
	border-color: var(--border);
}

.service-number::after {
	bottom: 0;
	right: 0;
	border-color: var(--accent);
}

.service-card h3 {
	font-family: 'Inter', sans-serif;
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 1rem;
	letter-spacing: -1px;
}

.service-card p {
	color: var(--text-secondary);
	line-height: 1.7;
	margin-bottom: 1.5rem;
}

.service-list {
	list-style: none;
}

.service-list li {
	color: var(--text-secondary);
	font-size: 0.9rem;
	padding: 0.5rem 0;
	padding-left: 1.5rem;
	position: relative;
}

.service-list li::before {
	content: '→';
	position: absolute;
	left: 0;
	color: var(--accent);
}

/* ─── Testimonials Section ───────────────────────────────── */
.testimonials-section {
	min-height: 100vh;
	padding: 100px 5%;
	display: flex;
	align-items: center;
	background: var(--bg-light);
}

.testimonials-container {
	max-width: 1200px;
	margin: 0 auto;
	width: 100%;
}

.testimonials-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
	gap: 3rem;
	margin-top: 3rem;
}

.testimonial-card {
	padding: 3rem;
	background: var(--surface);
	border: 1px solid var(--border);
	position: relative;
}

.quote-icon {
	font-family: 'Inter', sans-serif;
	font-size: 5rem;
	color: rgba(0, 0, 0, 0.08);
	line-height: 1;
	margin-bottom: 1rem;
}

.testimonial-text {
	font-family: 'Inter', sans-serif;
	font-size: 1.2rem;
	line-height: 1.8;
	color: var(--text-primary);
	margin-bottom: 2rem;
}

.testimonial-author {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding-top: 2rem;
	border-top: 1px solid var(--border);
}

.author-avatar {
	width: 50px;
	height: 50px;
	background: var(--accent);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Inter', sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	color: #fff;
}

/* ── 2. Author info — add breathing room from the button ── */
.author-info {
    margin-top: 0.5rem;        /* replaces relying solely on btn margin-bottom */
    margin-bottom: 0.75rem;    /* uniform gap before social-links */
}

.author-info h4 {
	font-size: 1.1rem;
	font-family: 'Inter', sans-serif;
}

.author-info p {
	font-size: 0.9rem;
	font-family: 'Inter', sans-serif;
	color: var(--text-secondary);
}

/* ─── Contact Section ────────────────────────────────────── */
.contact-section {
	min-height: 100vh;
	display: flex;
	align-items: center;
	padding: 100px 5%;
	background: var(--surface);
}

.contact-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5rem;
	max-width: 1400px;
	margin: 0 auto;
	align-items: center;
}

.contact-info h2 {
	font-family: 'Inter', sans-serif;
	font-size: clamp(2.5rem, 5vw, 4rem);
	font-weight: 700;
	line-height: 1.1;
	margin-bottom: 2rem;
	letter-spacing: -2px;
}

.contact-info p {
	font-family: 'Inter', sans-serif;
	font-size: 1.2rem;
	line-height: 1.8;
	color: var(--text-secondary);
	margin-bottom: 3rem;
}

.contact-details {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.contact-item {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.contact-item-icon {
	width: 50px;
	height: 50px;
	min-width: 50px;
	flex-shrink: 0;
	background: var(--surface-alt);
	border: 1px solid var(--border);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
}

.contact-item-content {
	padding-top: 0.25rem;
}

.contact-item-content h4 {
	font-size: 0.85rem;
	color: var(--text-secondary);
	margin-bottom: 0.25rem;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.contact-item-content a,
.contact-item-content p {
	color: var(--text-primary);
	text-decoration: none;
	font-size: 1.1rem;
	margin: 0;
	line-height: 1.4;
}

.contact-item-content a:hover {
	color: var(--accent);
}

.social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	font-family: 'Inter', sans-serif;
	margin-top: 0.75rem;
}

.social-link {
	font-family: 'Inter', sans-serif;
	padding: 0.5rem 1.0rem;
	min-width: 40px;
	min-height: 40px;
	background: var(--button-primary);
	border: 1px solid var(--border-strong);
	border-radius: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: var(--primary);
	transition: all 0.3s ease;
}

.social-link:hover {
	background: var(--button-accent);
	border-color: var(--border-hover);
	color: #fff;
	transform: translateY(-3px);
}

/* ─── Contact Form ───────────────────────────────────────── */
.contact-form {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.form-group {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.form-group label {
	font-size: 0.85rem;
	color: var(--text-secondary);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.form-group input,
.form-group textarea {
	padding: 1rem;
	background: var(--surface-alt);
	border: 1px solid var(--border);
	color: var(--text-primary);
	font-family: 'Inter', sans-serif;
	font-size: 1rem;
	transition: all 0.3s ease;
}

.form-group input:focus,
.form-group textarea:focus {
	outline: none;
	border-color: var(--accent);
	background: var(--surface);
}

.form-group textarea {
	resize: vertical;
	min-height: 150px;
}

/* Disabled State */
.submit-btn:disabled,
.submit-btn.disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.submit-btn:disabled:hover,
.submit-btn.disabled:hover {
	background: transparent;
	border-color: var(--primary);
	color: var(--primary);
}

.submit-btn {
	padding: 0.75rem 2.5rem;
	background: rgba(226, 232, 240, 0.95);
	color: var(--primary);
	border: 2px solid var(--primary);
	border-radius: 8px;
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-size: 0.9rem;
	cursor: pointer;
	transition: all 0.3s ease;
	margin: 0;
	justify-self: center;
}

.submit-btn:hover {
	background: var(--button-accent);
	border-color: var(--border);
	color: #fff;
}

/* ─── Footer ─────────────────────────────────────────────── */
footer {
	position: relative;
	padding: 1.5rem 5%;
	text-align: center;
	font-size: 0.85rem;
	font-family: 'Inter', sans-serif;
	color: var(--text-secondary);
	background: var(--bg-dark);
	backdrop-filter: blur(10px);
	border-top: 1px solid var(--border);
}

footer a {
	color: var(--accent);
	text-decoration: none;
	font-family: 'Inter', sans-serif;
	transition: color 0.3s ease;
}

footer a:hover {
	color: var(--primary);
}

/* ─── Responsive ─────────────────────────────────────────── */
@media (max-width: 1024px) {
	.split-container {
		flex-direction: column;
		height: auto;
		padding-top: 40px;
		padding-bottom: 0;
	}

	.left-panel {
		height: 50vh;
		min-height: 400px;
		position: relative;
		order: 1;
	}

	.logo {
		span { display: none; }
	}

	.project-controls {
		position: relative;
		order: 2;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 1rem 5%;
		background: linear-gradient(180deg, var(--bg-light) 0%, var(--bg-dark) 100%);
		border-top: 1px solid var(--border);
		border-bottom: 1px solid var(--border);
		top: auto;
		left: auto;
		right: auto;
		bottom: auto;
		pointer-events: auto;
	}

	.progress-indicator {
		position: relative;
		left: auto;
		top: auto;
		transform: none;
		flex-direction: row;
		gap: 0.75rem;
	}

	.navigation {
		position: relative;
		top: auto;
		bottom: auto;
		right: auto;
	}

	.nav-arrow {
		width: 45px;
		height: 45px;
	}

	.right-panel {
		height: auto;
		overflow-y: visible;
		padding-top: 2rem;
		padding-bottom: 2rem;
		position: relative;
		order: 3;
	}

	.project-details {
		position: relative;
		top: 0;
		opacity: 1;
		transform: translateY(0);
		pointer-events: auto;
		display: none;
	}

	.project-details.active {
		display: block;
	}

	.desktop-nav { display: none; }
	.menu-icon   { display: flex; }

	footer { position: relative; }

	.about-split,
	.contact-split {
		grid-template-columns: 1fr;
		gap: 3rem;
	}

	.about-image {
		order: -1;
		max-height: 500px;
	}

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

	.services-grid {
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	}

	.testimonials-grid { grid-template-columns: 1fr; }
}

@media (max-width: 970px) {
	.header { padding: 0.10rem 5%; }
	.submit-btn { padding: 0.5rem 2.0rem; }
}

@media (max-width: 768px) {
	.logo { font-size: 1.5rem; }

	.project-title      { font-size: 2.5rem; }
	.project-description { font-size: 1.1rem; }

	.project-info {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.navigation { gap: 0.5rem; }

	.nav-arrow {
		width: 50px;
		height: 50px;
	}

	.about-content h2,
	.contact-info h2,
	.section-header h2 { font-size: 2.5rem; }

	.about-stats {
		grid-template-columns: repeat(3, 1fr);
		gap: 1rem;
	}

	.stat-item {
		padding: 1.5rem 1rem;
	}

	.stat-item h3 { font-size: 2.2rem; }

	.stat-item::before,
	.stat-item::after {
		width: 20px;
		height: 20px;
	}

	.service-card     { padding: 2rem 1.5rem; }
	.testimonial-card { padding: 2rem; }

	.services-section,
	.testimonials-section,
	.about-section,
	.contact-section { padding: 60px 5%; }
}

@media (max-width: 480px) {
	.split-container {
		padding-top: 80px;
		padding-bottom: 0;
	}

	.left-panel {
		height: 40vh;
		min-height: 300px;
	}

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

	.project-controls { padding: 0.75rem 5%; }

	.right-panel { padding: 1.5rem 5% 2rem; }

	.navigation { gap: 0.5rem; }

	.nav-arrow {
		width: 40px;
		height: 40px;
	}

	.arrow {
		width: 15px;
		height: 15px;
	}

	.progress-indicator { gap: 0.5rem; }

	.about-stats {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.stat-item h3 { font-size: 2.5rem; }

	.progress-dot {
		width: 10px;
		height: 10px;
	}

	.services-grid   { grid-template-columns: 1fr; }
	.social-links    { flex-wrap: wrap; }
}