@import url('fonts.css');

/* ===== Reset & Base ===== */
*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

:root {
	/* ===== Color Palette ===== */
	--green-1000: #060a00;
	--green-900: #131f00;
	--green-800: #262917;
	--green-700: #3d4125;
	--green-600: #565b33;
	--green-500: #667340;
	--green-400: #839452;
	--green-300: #9dad6b;
	--green-200: #b2bf8c;
	--green-100: #dee4ce;
	--green-50: #f4f6ef;

	--lime-500: #78bf00;
	--lime-200: #cdf66f;
	--lime-50: #f5fde2;
	--green-tint: #020d02;

	/* Base — sections inherit these unless they override below */
	--body-bg: var(--green-1000);
	--text: var(--green-200);
	--title: var(--green-100);
	--error: #fb4b4b;

	/* Font base */
	--font-heading: 'Montserrat', sans-serif;
	--font-body: 'Roboto', sans-serif;

	/* Sticky header height. script.js measures and corrects it. */
	--header-h: 135px;

	/* Header section */
	--header-bg: rgba(2, 13, 2, 0.6);
	/* green-tint 60% */
	--header-link-text: var(--green-400);
	--header-link-hover-text: var(--green-50);
	--header-link-glow: var(--lime-50);
	--header-link-active-text: var(--green-50);
	--header-link-active-glow: var(--lime-50);

	/* Buttons (shared: header, portfolio cards, contact submit) */
	/* outline — Log In, Visit Site */
	--button-outline-text: var(--green-300);
	--button-outline-bg: var(--green-800);
	--button-outline-border: var(--green-600);
	--button-outline-hover-text: var(--green-300);
	--button-outline-hover-bg: var(--green-700);
	--button-outline-hover-border: var(--green-500);

	/* solid — Sign Up, Submit */
	--button-solid-text: var(--green-900);
	--button-solid-bg: var(--lime-500);
	--button-solid-hover-text: var(--green-900);
	--button-solid-hover-bg: var(--lime-200);

	/* Hero section */
	--hero-bg: var(--green-1000);
	--heroGradient-start: rgba(6, 10, 0, 0.7);
	/* green-1000 70% */
	--heroGradient-end: rgba(120, 191, 0, 0.3);
	/* lime-500 30% */
	--hero-title: var(--title);
	--hero-text: var(--text);
	--hero-text-shadow: var(--green-1000);

	/* Stats section */
	--stats-bg: var(--green-1000);
	--stats-number: var(--lime-500);
	--stats-symbol: var(--lime-500);
	--stats-label: var(--title);
	--stats-highlight: var(--lime-200);
	--stats-desc: var(--text);
	--stats-note: var(--text);

	/* Premium section */
	--premium-bg: var(--green-900);
	--premium-title: var(--title);
	--premium-desc: var(--text);

	/* Portfolio section */
	--portfolio-bg: var(--green-900);
	--portfolio-title: var(--title);
	--portfolio-card-bg: var(--green-1000);
	--portfolio-card-title: var(--title);
	--portfolio-card-tagline: var(--lime-500);
	--portfolio-card-tags: var(--title);
	--portfolio-card-desc: var(--text);

	/* Tools section */
	--tools-bg: var(--green-1000);
	--tools-title: var(--title);
	--tools-subtitle: var(--text);
	--tools-card-title: var(--title);
	--tools-card-desc: var(--text);
	--tools-icon-label: var(--title);

	/* About us section*/
	--aboutus-bg: var(--green-900);
	--aboutus-title: var(--title);
	--aboutus-desc: var(--text);

	/* Contact section */
	--contact-bg: var(--green-1000);
	--contact-title: var(--title);
	--contact-subtitle: var(--text);
	--contact-label: var(--text);
	--contact-input-text: var(--title);
	--contact-input-border: var(--green-500);
	--contact-input-focus-border: var(--lime-500);
	--contact-option-hover-bg: var(--green-700);
	--contact-option-selected: var(--lime-500);
	--contact-success: var(--lime-500);

	/* Footer section */
	--footer-bg: var(--green-900);
	--footer-link: var(--green-400);
	--footer-link-underline: rgba(131, 148, 82, 0.5);
	/* green-400 50% */
	--footer-copy: var(--green-400);
}

/* Animations — only when JS is active and motion is allowed */
@media (prefers-reduced-motion: no-preference) {
	@keyframes fadeIn {
		from {
			opacity: 0;
		}

		to {
			opacity: 1;
		}
	}

	@keyframes slideUp {
		from {
			opacity: 0;
			transform: translateY(10px);
		}

		to {
			opacity: 1;
			transform: translateY(0);
		}
	}

	body.js .header {
		animation: fadeIn 1.5s ease;
	}

	body.js .hero,
	body.js .four04 {
		animation: slideUp 1.5s ease;
	}

	body.js .reveal {
		opacity: 0;
		transform: translateY(20px);
		transition: opacity 0.8s ease, transform 0.8s ease;
	}

	body.js .reveal.visible {
		opacity: 1;
		transform: translateY(0);
	}
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: var(--header-h);
}

body {
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.4;
	background-color: var(--body-bg);
	color: var(--text);
	-webkit-font-smoothing: antialiased;
	min-height: 100dvh;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

h1,
h2,
h3,
h4 {
	font-family: var(--font-heading);
}

.container {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 24px;
}

a {
	text-decoration: none;
	color: inherit;
}

img {
	max-width: 100%;
	display: block;
}

.section-title {
	color: var(--title);
	text-align: center;
	font-size: 64px;
	line-height: 68px;
	letter-spacing: -1.28px;
	font-weight: 700;
	max-width: 90%;
	margin-right: auto;
	margin-left: auto;
}

/* ===== Header ===== */
.header {
	position: sticky;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	padding: 24px 8px;
}

.header-inner {
	transition: all 0.23s ease-in-out;
	display: flex;
	align-items: center;
	padding: 16px 40px;
	border-radius: 8px;
	backdrop-filter: blur(12px);
	background: var(--header-bg);
}

.header-logo {
	display: block;
}

.header-logo img {
	width: 160px;
	height: 55px;
}

.header-nav {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 20px;
	overflow-x: auto;
	flex-wrap: nowrap;
	scrollbar-width: none;
	touch-action: pan-x;
}

.header-nav::-webkit-scrollbar {
	display: none;
}

.header-nav a {
	font-weight: 700;
	transition: color 0.3s ease, text-shadow 0.3s ease;
	white-space: nowrap;
	padding: 10px;
	flex-shrink: 0;
	color: var(--header-link-text);
}

.header-nav a.active {
	color: var(--header-link-active-text);
	text-shadow: 0 0 16px var(--header-link-active-glow);
}

@media(hover: hover) {
	.header-nav a:hover {
		color: var(--header-link-hover-text);
		text-shadow: 0 0 16px var(--header-link-glow);
	}
}

.header-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
	padding-left: 20px;
	white-space: nowrap;
}

.header-login,
.button-secondary {
	padding: 9px 17px;
	color: var(--button-outline-text);
	background-color: var(--button-outline-bg);
	border: 1px solid var(--button-outline-border);
	font-weight: 700;
	border-radius: 5px;
	transition: all 0.3s ease;
	font-family: var(--font-body);
	font-size: inherit;
	display: inline-flex;
	cursor: pointer;
}

@media(hover: hover) {

	.header-login:hover,
	.button-secondary:hover {
		color: var(--button-outline-hover-text);
		background-color: var(--button-outline-hover-bg);
		border-color: var(--button-outline-hover-border);
	}
}

.header-cta,
.button-primary {
	padding: 10px 17px;
	background: var(--button-solid-bg);
	color: var(--button-solid-text);
	font-weight: 700;
	border-radius: 5px;
	transition: all 0.3s ease;
	font-family: var(--font-body);
	font-size: inherit;
	border: none;
	display: inline-flex;
	cursor: pointer;
}

.header-cta:disabled,
.button-primary:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

@media(hover: hover) {

	.header-cta:hover:not(:disabled),
	.button-primary:hover:not(:disabled) {
		color: var(--button-solid-hover-text);
		background-color: var(--button-solid-hover-bg);
	}
}


/* ===== Hero Section ===== */
.hero {
	position: relative;
	height: calc(100vh - var(--header-h));
	height: calc(100dvh - var(--header-h));
	display: flex;
	align-items: center;
	background-color: var(--hero-bg);
	background-image: linear-gradient(181deg,
			var(--heroGradient-start) 35.03%,
			var(--heroGradient-end) 134.85%);
}

.hero-image {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 1;
	display: flex;
	align-items: flex-end;
}

.hero-image picture {
	width: 100%;
	height: 100%;
}

.hero-image img {
	width: 100%;
	height: 100%;
	object-position: bottom right;
	max-width: 820px;
	object-fit: contain;
}

.hero-content {
	position: relative;
	z-index: 3;
	padding: 80px 120px;
	max-width: 1440px;
	margin: 0 auto;
	width: 100%;
}

.hero-content h1 {
	font-size: clamp(56px, 7vw, 120px);
	letter-spacing: -2.4px;
	font-weight: 700;
	line-height: 100%;
	color: var(--hero-title);
	text-shadow: 0 4px 60px var(--hero-text-shadow);
	margin-bottom: 14px;
}


.hero-content p {
	font-family: var(--font-body);
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: 32px;
	max-width: 480px;
	width: 40%;
	color: var(--hero-text);
	text-shadow: 0 4px 60px var(--hero-text-shadow);
}

/* ===== Stats Section ===== */
.stats {
	background-color: var(--stats-bg);
	padding: 64px 48px;
}

.stats-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 16px;
}

.stat-card {
	width: 100%;
	max-width: 390px;
	text-align: center;
	padding: 24px;
}

.stat-title {
	display: flex;
	justify-content: center;
	align-items: baseline;
	margin-bottom: 6px;
}

.stat-symbol {
	color: var(--stats-symbol);
	font-family: var(--font-heading);
	font-size: 72px;
	font-style: normal;
	font-weight: 700;
	line-height: .75;
	letter-spacing: -1.44px;
	position: relative;
	bottom: 12px;
}

.stat-number {
	color: var(--stats-number);
	font-family: var(--font-heading);
	font-size: 120px;
	font-style: normal;
	font-weight: 700;
	line-height: .75;
	letter-spacing: -2.4px;
}

.stat-label {
	color: var(--stats-label);
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 14px;
	letter-spacing: 0.24px;
}


.stat-highlight {
	color: var(--stats-highlight);
}

.stat-desc {
	color: var(--stats-desc);
	font-size: 20px;
	text-align: left;
}

.stat-desc-note {
	text-align: center;
	color: var(--stats-note);
	font-size: 14px;
	margin: 24px 0 0;
	width: 100%;
}

.payout-note {
	text-align: center;
	line-height: 1;
	font-weight: 700;
}

/* ===== Premium Section ===== */
.premium {
	background: var(--premium-bg);
	padding: 64px 48px;
	text-align: center;
}

.premium h2 {
	color: var(--premium-title);
	margin-bottom: 12px;
}


.premium-desc {
	max-width: 80%;
	margin: 0 auto;
	color: var(--premium-desc);
	font-size: 20px;
	line-height: 140%;
}

/* ===== Portfolio Section ===== */
.portfolio {
	background: var(--portfolio-bg);
	padding: 12px 48px 64px;
}

.portfolio h2 {
	color: var(--portfolio-title);
	margin-bottom: 24px;
}


.portfolio-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
}

.site-card {
	width: 100%;
	max-width: 390px;
	background: var(--portfolio-card-bg);
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.site-image {
	position: relative;
	overflow: hidden;
	background: var(--portfolio-card-bg);
	flex-shrink: 0;
}

.site-image a {
	display: block;
}

.site-image a img {
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
	object-fit: cover;
	transition: transform .23s ease-in-out;
}

@media(hover: hover) {
	.site-image a:hover img {
		transform: scale(1.025);
	}
}

.site-info {
	padding: 24px;
	display: flex;
	flex-direction: column;
	flex: 1;
	align-items: flex-start;
}

.site-info h3 {
	color: var(--portfolio-card-title);
	font-size: 17px;
	font-weight: 600;
	margin-bottom: 12px;
	line-height: 1;
}

.site-info h4 {
	color: var(--portfolio-card-tagline);
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 24px;
}

.site-info p {
	font-size: 14px;
	color: var(--portfolio-card-desc);
}

.site-info p.tags {
	color: var(--portfolio-card-tags);
	display: flex;
	flex-wrap: wrap;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 400;
	gap: 6px;
	line-height: 140%;
	margin-bottom: 24px;
}

.site-btn {
	padding: 24px;
}

.site-btn a {
	display: inline-flex;
}


/* ===== Tools Section ===== */
.tools {
	background: var(--tools-bg);
	padding: 64px 48px;
}

.tools h2 {
	color: var(--tools-title);
	margin-bottom: 12px;
}

.tools-subtitle {
	text-align: center;
	margin-bottom: 40px;
	font-size: 20px;
	color: var(--tools-subtitle);
}


.tools-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 24px;
}

.tools-card {
	width: 100%;
	max-width: 390px;
	padding: 24px;
	display: flex;
	flex-direction: column;
}

.tools-card .tools-text {
	flex: 1;
}

.tools-card h3 {
	color: var(--tools-card-title);
	font-size: 17px;
	font-weight: 600;
	margin-bottom: 12px;
	line-height: 1.4;
}


.tools-card p {
	font-size: 14px;
	color: var(--tools-card-desc);
}

.tools-icons {
	position: relative;
	max-width: 375px;
	width: 100%;
	height: 160px;
	margin: 20px auto;
}

.tool-icon-card {
	position: absolute;
	text-align: center;
	top: 50%;
	transition: all 1s ease;
	width: 100%;
	max-width: 125px;
	padding: 3px;
}

.tool-icon-card.pos-left {
	left: 0;
	transform: translate(0, -50%) scale(0.85);
	transform-origin: left center;
	opacity: 0.95;
	z-index: 1;
}

.tool-icon-card.pos-center {
	left: 50%;
	transform: translate(-50%, -50%) scale(1.2);
	opacity: 1;
	z-index: 3;
}

.tool-icon-card.pos-right {
	left: 100%;
	transform: translate(-100%, -50%) scale(0.85);
	transform-origin: right center;
	opacity: 0.95;
	z-index: 2;
}

.tool-icon {
	width: calc(100% - 20px);
	aspect-ratio: 158 / 124;
	object-fit: contain;
	display: block;
	margin: 0 auto 6px;
}

.tool-icon-card span {
	color: var(--tools-icon-label);
	font-family: var(--font-heading);
	font-size: 13px;
	font-weight: 600;
	line-height: 13px;
	display: block;
}


/* ===== About Us Section ===== */
.aboutus {
	background: var(--aboutus-bg);
	padding: 64px 48px;
	text-align: center;
}

.aboutus h2 {
	color: var(--aboutus-title);
	margin-bottom: 12px;
}


.aboutus-desc {
	max-width: 80%;
	margin: 0 auto;
	color: var(--aboutus-desc);
	font-size: 20px;
	line-height: 140%;
}

/* ===== Contact Section ===== */
.contact {
	background: var(--contact-bg);
	padding: 64px 48px;
}

.contact h2 {
	color: var(--contact-title);
	margin-bottom: 12px;
}


.contact-subtitle {
	text-align: center;
	max-width: 80%;
	margin: 0 auto 30px;
	color: var(--contact-subtitle);
	font-size: 20px;
	line-height: 140%;
}

.contact-form {
	max-width: 540px;
	margin: 0 auto;
}

.form-row input,
.form-row textarea {
	width: 100%;
	padding: 24px 0;
	background: none;
	border: none;
	border-bottom: 1px solid var(--contact-input-border);
	color: var(--contact-input-text);
	font-family: var(--font-body);
	font-size: 14px;
	outline: none;
	transition: border-color 0.3s ease;
}

.form-row input::placeholder,
.form-row textarea::placeholder {
	color: var(--contact-label);
}

.form-row input:focus,
.form-row textarea:focus {
	border-color: var(--contact-input-focus-border);
}

.custom-select {
	position: relative;
	cursor: pointer;
	border-bottom: 1px solid var(--contact-input-border);
	outline: none;
}

.custom-select:focus-visible {
	border-color: var(--contact-input-focus-border);
}

.custom-select-trigger {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 24px 0;
	color: var(--contact-label);
	font-family: var(--font-body);
	font-size: 14px;
	transition: border-color 0.3s ease;
}

.custom-select-arrow {
	color: var(--contact-label);
	transition: transform 0.3s ease;
}

.custom-select.open .custom-select-arrow {
	transform: rotate(180deg);
}

.custom-select-options {
	list-style: none;
	padding: 0;
	margin: 0 0 12px;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease;
}

.custom-select.open .custom-select-options {
	max-height: 400px;
}

.custom-select-options li {
	padding: 8px 16px;
	color: var(--contact-label);
	font-family: var(--font-body);
	font-size: 14px;
	cursor: pointer;
	border-radius: 6px;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.custom-select-options li:hover,
.custom-select-options li.focused {
	background-color: var(--contact-option-hover-bg);
	color: var(--contact-input-text);
}

.custom-select-options li.selected {
	color: var(--contact-option-selected);
}

.form-row textarea {
	min-height: 160px;
	resize: none;
}

.honeypot {
	position: absolute;
	left: -9999px;
	opacity: 0;
	height: 0;
	width: 0;
}

.form-feedback {
	text-align: center;
	margin: 40px 0 30px;
	font-size: 16px;
}

.form-success {
	color: var(--contact-success);
}

.form-error {
	color: var(--error);
}

.has-error {
	border-color: var(--error) !important;
}

.field-error {
	display: block;
	color: var(--error);
	font-size: 14px;
	margin-top: 9px;
	text-align: right;
}

.form-submit {
	text-align: center;
	margin: 24px auto 0;
}

/* ===== Footer ===== */
.footer {
	background: var(--footer-bg);
	color: var(--footer-copy);
	padding: 50px 0;
	text-align: center;
	font-size: 13px;
}

.footer-logo {
	margin-bottom: 18px;
}

.footer-logo .logo {
	margin: 0 auto;
	width: 120px;
	height: 41px;
}

.footer-links {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-bottom: 14px;
	flex-wrap: wrap;
}

.footer-links a {
	color: var(--footer-link);
	transition: border-color 0.3s ease;
	border-bottom: 1px solid var(--footer-link-underline);
}

@media(hover: hover) {
	.footer-links a:hover {
		border-bottom-color: transparent;
	}
}

.footer-copy {
	margin-bottom: 12px;
}


/* ===== Four04 Section ===== */
.four04 {
	position: relative;
	min-height: 642px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-grow: 1;
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
}

.four04-image {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 1;
	display: flex;
	align-items: flex-end;
}

.four04-image img {
	width: 100%;
	height: 100%;
	object-position: center right;
	max-width: 860px;
	object-fit: contain;
	padding: 12px;
}

.four04-content {
	position: relative;
	z-index: 3;
	padding: 48px;
	max-width: 1440px;
	margin: 0 auto;
	width: 100%;
}

.four04-content-center {
	text-align: center;
	display: inline-flex;
	flex-direction: column;
}

.four04-content h1 {
	font-size: clamp(33px, 6vw, 64px);
	letter-spacing: -1.28px;
	font-weight: 700;
	line-height: 108%;
	text-shadow: 0 4px 60px var(--hero-text-shadow);
	margin-bottom: 24px;
}

.four04-content h1 b {
	display: block;
	font-size: clamp(148px, 23vw, 249px);
	line-height: 100%;
}

.four04-content h1 span {
	display: block;
	font-size: clamp(33px, 6vw, 64px);
	transform: translateY(-12px);
}


@supports (text-box: trim-both cap alphabetic) {

	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	p,
	label,
	figcaption,
	a,
	span,
	b,
	strong,
	em,
	small,
	li,
	button {
		text-box: trim-both cap alphabetic;
	}

	.site-btn,
	.form-submit,
	.four04-content p {
		text-box: normal;
	}

	.hero-content h1 {
		margin-bottom: 48px;
	}

	.stat-title {
		align-items: center;
		margin-bottom: 24px;
	}

	.stat-symbol {
		position: static;
		bottom: auto;
	}

	.stat-label {
		margin-bottom: 24px;
	}

	.premium h2 {
		margin-bottom: 32px;
	}

	.portfolio h2 {
		margin-bottom: 32px;
	}

	.site-info {
		padding-bottom: 0;
	}

	.tools h2 {
		margin-bottom: 32px;
	}

	.tools-card h3 {
		margin-bottom: 24px;
	}

	.aboutus h2 {
		margin-bottom: 40px;
	}

	.contact h2 {
		margin-bottom: 32px;
	}

	.custom-select-options {
		margin-top: -12px;
	}

	.custom-select-options li {
		padding: 13px 16px;
	}

	.footer-logo {
		margin-bottom: 24px;
	}

	.footer-links {
		margin-bottom: 24px;
	}

	.four04-content h1 {
		margin-bottom: 38px;
	}

	.four04-content h1 b {
		margin-bottom: 38px;
	}

	.four04-content h1 span {
		transform: none;
	}
}

@media (max-width: 1064px) {

	body.js .reveal {
		transition: opacity 0.8s ease, transform 0.8s ease;
	}

	.section-title {
		font-size: 32px;
		line-height: 120%;
		max-width: none;
	}

	.header {
		padding: 8px;
	}

	.header-inner {
		flex-wrap: wrap;
		padding: 16px 16px 0;
	}

	.header-logo {
		order: 1;
		flex: 1;
		min-width: 0;
	}

	.header-logo img {
		width: 125px;
		height: 43px;
	}

	.header-actions {
		flex-shrink: 0;
		margin-left: auto;
		order: 2;
	}

	.header-nav {
		width: calc(100% + 10px);
		margin: 6px -10px;
		order: 3;
		gap: 0;
	}

	.header-nav a {
		font-size: 15px;
	}

	.hero {
		flex-direction: column;
		height: auto;
		min-height: auto;
		max-width: 100%;
	}

	.hero-image {
		position: static;
		order: 2;
		width: 100%;
	}

	.hero-image img {
		object-fit: cover;
		margin: auto 0 auto auto;
	}

	.hero-content {
		padding: 0 24px;
	}

	.hero h1 {
		font-size: 12vw;
	}

	.hero-content p {
		max-width: none;
		width: 100%;
	}

	.stats {
		padding: 64px 0 40px;
	}

	.stats-grid {
		gap: 24px;
	}

	.stat-card {
		padding: 0 0 10px;
	}

	.stat-desc-note {
		margin: 0;
	}

	.stat-symbol {
		font-size: 60px;
		line-height: .75;
		bottom: 8px;
	}

	.stat-number {
		font-size: 100px;
		line-height: .75;
	}

	.stat-label {
		font-size: 22px;
	}

	.stat-desc {
		font-size: 16px;
	}

	.premium {
		padding: 40px 3px;
	}

	.premium-desc {
		max-width: none;
		font-size: 16px;
	}

	.portfolio {
		padding: 40px 0 24px;
	}

	.site-info h3 {
		font-size: 16px;
	}

	.site-info p {
		font-size: 13px;
	}

	.tools {
		padding: 40px 0;
	}

	.tools-subtitle {
		font-size: 20px;
	}

	.tools-card {
		padding: 0;
	}

	.tools-icons {
		margin: 0 auto;
	}

	.aboutus {
		padding: 40px 0;
	}

	.aboutus-desc {
		max-width: none;
		font-size: 16px;
	}

	.contact {
		padding: 64px 0;
	}

	.contact-subtitle {
		max-width: none;
		margin: 0 auto 30px;
		font-size: 16px;
	}

	.footer-links {
		gap: 10px;
	}


	.four04 {
		flex-direction: column;
		height: auto;
		min-height: auto;
		max-width: 100%;
		text-align: center;
		flex: 1;
	}

	.four04-image {
		position: static;
		width: 100%;
		margin-bottom: -15vw;
	}

	.four04-image img {
		object-fit: cover;
		margin: auto;
	}

	.four04-content {
		padding: 24px;
		order: 3;
	}

	@supports (text-box: trim-both cap alphabetic) {

		.hero-content h1 {
			margin-bottom: 24px;
		}

		.stats-grid {
			gap: 30px;
		}

		.premium h2 {
			margin-bottom: 24px;
		}

		.portfolio h2 {
			margin-bottom: 24px;
		}

		.aboutus h2 {
			margin-bottom: 24px;
		}

		.tools-card h3 {
			margin-bottom: 24px;
		}

		.four04-content h1 b {
			margin-bottom: 14px;
		}

		.four04-content h1 {
			margin-bottom: 40px;
		}

		.four04-content {
			padding-bottom: 48px;
		}
	}
}

@media (max-width: 400px) {
	.tool-icon-card.pos-left {
		transform: translate(0, -50%) scale(0.75);
	}

	.tool-icon-card.pos-center {
		transform: translate(-50%, -50%) scale(1.15);
	}

	.tool-icon-card.pos-right {
		transform: translate(-100%, -50%) scale(0.75);
	}
}

@media (max-width: 350px) {
	.tool-icon-card.pos-left {
		transform: translate(0, -50%) scale(0.6);
	}

	.tool-icon-card.pos-center {
		transform: translate(-50%, -50%) scale(1);
	}

	.tool-icon-card.pos-right {
		transform: translate(-100%, -50%) scale(0.6);
	}
}