/* ── TOKENS ── */
:root {
	/* --bg: #0a0a0a; */
	/* --bg: #222222; */
	--bg: #303030;
	/* --bg: #8b8b8b; */
	/* --surface: #111111; */
	--surface-full: #0c0c0caf;
	/* --surface-full: rgb(37, 39, 38); */
	--surface: rgba(37, 39, 38, 0.75); /* e */
	--surface: #282928; /* e */
	--surface2: #111111;
	/* --surface2: #00000088; */
	/* --surface2: pink; */
	--border: #444444;
	/* --border: #2a2c2a; */
	/* --border: white; */
	--g: #647661;
	--gd: #232922;
	--gl: #8da084;
	--gpale: rgba(100, 118, 97, 0.25);
	--accent: #c8a84b;
	--port-header: var(--g);
	--port-hover: var(--gl);
	--accentpale: #1d1c1c;
	--highlight: #615739;
	--text: #d0d3cd;
	--tdim: #7a7e76;
	--tmut: var(--tdim);
	--miniheader: var(--dimtitle);
	---dull: #4f5348;
	/* --navh: 70px; */
	--navh: 50px;
	--sw: 250px;
	--r: 10px;
	--anchorh: 0px;
	--sb: 70px;
	--dimtitle: #888888;
	--bullbold: #525e44;
	--title: #ffffff;
	--badge: #68644c;
}

/* ── SELECTION HIGHLIGHT ── */
::selection {
	background: rgba(200, 168, 75, 0.32);
	color: #fff;
}

/* ── RESET & BASE ── */
*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
html {
	scroll-behavior: smooth;
}
body {
	font-family: "Rubik", sans-serif;
	background: var(--bg);
	/* background: grey; */
	color: var(--text);
	font-weight: 300;
	font-size: 14px;
	line-height: 1.25;
	overflow-x: hidden;
}
a {
	text-decoration: none;
	color: inherit;
}
img {
	display: block;
	max-width: 100%;
}
::-webkit-scrollbar {
	width: 4px;
}
::-webkit-scrollbar-track {
	/* background: var(--bg); */
	background: var(--surface);
}
::-webkit-scrollbar-thumb {
	/* background: var(--g); */
	background: var(--accent);
	border-radius: 2px;
}

/* ── NAV BLUR OVERLAY ── */
#blur-page {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.4); /* Darken the background slightly */
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	z-index: 998; /* Just below header (1000) */
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.8s ease;
}

#blur-page.visible {
	opacity: 1;
	transition: opacity 0.4s ease;
	pointer-events: auto;
}

/* ══ HEADER & NAVIGATION ── */
header {
	position: fixed;
	top: 0;
	left: var(--sw);
	right: 0;
	z-index: 1000;
	padding: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: transform 0.4s ease-in-out;
	pointer-events: none;
}
.mobile-box {
	display: none; /* HIDDEN ON DESKTOP */
	pointer-events: all;
	width: auto !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin-right: 10px;
}
.mobile-menu-btn {
	display: none; /* HIDDEN ON DESKTOP */
	cursor: pointer;
	transition:
		background 0.2s,
		color 0.2s;
	border-radius: 100px;
	padding: 10px 14px;
	background: transparent;
	border: 0px;
	color: var(--tdim);
}
.mobile-menu-btn:hover {
	color: white;
}

.navbox {
	pointer-events: all;
	display: inline-flex;
	width: auto;
	border-radius: 100px;
	/* border: 2px solid rgba(47, 61, 47, 0.705); */
	border: 2px solid var(--gd);
	/* background: #59685694; */
	/* background: #232922b7; */
	background: #424b40b7;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	padding: 5px 5px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
	transition: transform 0.45s ease-in-out;
	will-change: transform;
}
.navbox:hover {
	transform: scale(1.012);
}
.navbar {
	display: flex;
	align-items: center;
	gap: 4px;
	width: 100%;
	margin-right: 3px;
	margin-left: -4px;
}
.logo-icon {
	width: 40px;
	flex-shrink: 0;
	margin-right: 3px;
	filter: brightness(1.1);
	margin-left: 20px;
}
.logo {
	font-weight: 400;
	font-size: 13px;
	line-height: 1.1;
	color: rgba(255, 255, 255, 0.9);
	margin-right: 4px;
	white-space: nowrap;
	flex-shrink: 0;
}
.nav-center {
	display: flex;
	align-items: center;
	gap: 7px;
	flex: 1;
	justify-content: center;
	padding: 0 clamp(10px, 5vw, 500px);
}

.ni {
	position: relative;
	overflow: hidden;
	/* color: rgba(255, 255, 255, 0.82); */
	color: white;
	/* background: #525d4bb5; */
	background: #596453b5;
	font-weight: 700;
	font-size: 11.5px;
	letter-spacing: 0.07em;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	border-radius: 100px;
	white-space: nowrap;
	z-index: 0;
	transition: color 0.2s;
}
.ni::after {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: var(--gd);
	pointer-events: none;
	z-index: -1;
	transition: left 0s;
}
.ni:hover {
	color: #fff;
}
.ni:hover::after {
	left: 0;
	transition: left 0.38s ease-out;
}
.ni.active {
	background: var(--gd);
	color: #fff;
}
.ni.active::after {
	display: none;
}

.ndrop {
	position: relative;
	padding-bottom: 25px;
	margin-bottom: -25px;
}
.ndrop:hover .nav-dd {
	display: block !important;
}
.nav-dd {
	display: none;
	position: absolute;
	top: 100% !important;
	left: 0%;
	background: #ffffff9e;
	border-radius: 12px;
	min-width: 190px;
	overflow: hidden;
	width: fit-content;
	/* backdrop-filter: blur(4px) !important; */
	/* -webkit-backdrop-filter: blur(4px) !important; */
	padding: 0px 0 5px 0;
}
.nav-dd::before {
	content: "";
	position: absolute;
	top: -18px;
	left: 0;
	width: 100%;
	height: 18px;
	background: transparent;
}
.dd-hdr {
	display: block;
	padding: 8px 16px 5px;
	margin: 4px 0;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	color: white;
	background: #647661cb;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
#submenu1 {
	margin-top: 0px;
}
.dd-lnk {
	display: block;
	padding: 2px 16px 2px 26px;
	font-size: 12px;
	font-weight: 500;
	/* color: var(---dull); */
	color: var(--surface);
	transition:
		background 0.15s,
		color 0.15s;
}
.dd-lnk:hover {
	color: var(--g);
}
.single-subnav {
	padding: 2px 15px 2px 7px !important;
	min-width: 50px !important;
	text-align: left;
}

.ncontact {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 15px;
	border-radius: 100px;
	background: rgba(35, 41, 34, 0.75);
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: rgba(255, 255, 255, 0.9);
	font-weight: 700;
	font-size: 11.5px;
	letter-spacing: 0.06em;
	flex-shrink: 0;
	transition: background 0.2s;
}
.ncontact:hover {
	background: var(--gd);
}

/* ══ SIDEBAR ── */
#sb {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: var(--sw);
	background: var(--surface-full);
	border-right: 1px solid var(--border);
	z-index: 400;
	display: flex;
	flex-direction: column;
	padding-top: calc(var(--sb) + 8px);
}
#sb-hdr {
	padding: 10px 14px 7px;
	/* font-size: 13.5px; */
			font-size: clamp(13.5px,0.8vw,30px);

	font-weight: 700;
	letter-spacing: 0.2em;
	color: var(--g);
	border-bottom: 1px solid var(--border);
	text-transform: uppercase;
}
#sb-prog {
	height: 2px;
	background: var(--border);
	position: relative;
	flex-shrink: 0;
}
#sb-fill {
	height: 2px;
	background: var(--g);
	width: 0%;
	position: absolute;
	left: 0;
	top: 0;
	transition: width 0.18s linear;
}
#sb-nav {
	flex: 1;
	overflow-y: auto;
	padding: 10px 0;
}
.sbn {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	transition: background 0.15s;
	text-decoration: none;
}
.sbn:hover {
	background: var(--accentpale);
}
/* .sbn.active:hover {background: var(--accentpale);} */
.sbdot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	border: 1.5px solid var(--tmut);
	background: transparent;
	flex-shrink: 0;
	transition: all 0.2s;
}
.sbn.active .sbdot {
	background: var(--accent);
	border-color: var(--accent);
}
.sbn.active .sblbl {
	color: var(--accent);
	font-weight: 700;
}
.sblbl {
	/* font-size: 11.5px; */
				font-size: clamp(11.5px,0.6vw,25px);

	font-weight: 500;
	letter-spacing: 0.07em;
	color: var(--tmut);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: color 0.2s;
	text-transform: uppercase;
}

/* Sidebar Sub-Nav */
.sb-group {
	display: flex;
	flex-direction: column;
	margin-top: 0px;
}
.sb-subnav {
	display: flex;
	flex-direction: column;
	padding-left: 29px;
	gap: 4px;
	margin-top: 2px;
	margin-bottom: 8px;
}
.sbn-sub {
	/* font-size: 11.5px; */
					font-size: clamp(10.5px,0.5vw,25px);

	font-weight: 500;
	color: var(--tmut);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	text-decoration: none;
	transition:
		color 0.2s,
		transform 0.2s;
	position: relative;
	display: inline-block;
	width: fit-content;
	margin-left: 20px;
}
.sbn-sub::before {
	content: "•";
	position: absolute;
	left: -10px;
	color: var(--tmut);
	opacity: 0.4;
	transition:
		opacity 0.2s,
		color 0.2s;
}
.sbn-sub:hover {
	color: var(--g);
	transform: translateX(2px);
}
.sbn-sub.active {
	color: var(--accent);
	font-weight: 700;
}
.sbn-sub.active::before {
	color: var(--accent);
	opacity: 1;
}

#sb-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	z-index: 399;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}
#sb-overlay.show {
	opacity: 1;
	pointer-events: all;
}

/* ══ MAIN LAYOUT & GLOBAL ── */
#mn {
	margin-left: var(--sw);
	padding-top: calc(var(--navh) + 50px);
}
section {
	scroll-margin-top: calc(var(--anchorh) + 0vh);
}
.sb {
	padding: 0 48px 0px;
}
.sh {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 36px 0 10px;
	margin: 0 -48px;
}
.sh h2 {
	font-family: 'Rubik', sans-serif;
	font-weight: 900;
	/* font-size: clamp(26px, 4.5vw, 70px); */
	font-size: clamp(28px, 3vw, 70px);
	letter-spacing: 0.01em;
	white-space: nowrap;
	/* color: var(--title); */
	/* color: var(--surface); */
	/* color: var(--accent); */
	color: var(--port-header);
	/* -webkit-text-stroke: 0.3px var(--dimtitle); */
	/* text-shadow: 0 0 5px rgb(136, 136, 136, 0.5); */
	padding: 0 4px;
	transition: color 0.21s ease-in-out;
	
}
.sh-r {
	flex: 1;
	height: 15px;
	/* background: white; */
	/* background: var(--accent); */
	background: var(--port-header);
	transition: background 0.21s ease-in-out;
}

/* ── NEW: Control the left line specifically ── */
.sh .sh-r:first-child {
	flex: none; /* Prevents the left line from expanding */
	width: calc(48px - 12px); /* 48px negative margin minus the 12px flex gap */
}

/* ── NEW: Ensure the right line takes up the remaining space ── */
.sh .sh-r:last-child {
	flex: 1; 
}

/* .sh-pulse-btn {
	background: none;
	border: none;
	padding: 0 4px 0 0;
	display: flex;
	align-items: center;
	flex-shrink: 0;
	margin-left: 48px;
	cursor: pointer;
}
.sh-pulse-btn:hover .pulse-dot {
	background: var(--accent);
}
.sh-pulse-btn:hover ~ h2 {
	color: var(--accent);
}
.sh-pulse-btn:hover ~ .sh-r {
	background: var(--accent);
} */

.sh-pulse-btn {
	background: none;
	border: none;
	cursor: pointer;
}
.sh-pulse-btn:hover h2 {
	/* color: var(--accent); */
	color: var(--port-hover);
}
.sh:has(.sh-pulse-btn:hover) .sh-r {
	/* background: var(--accent); */
	background: var(--port-hover);
}

/* .pulse-dot {
	width: clamp(20px, 2vw, 50px);
	height: clamp(20px, 2vw, 50px);
	border-radius: 50%;
	background: white;
	flex-shrink: 0;
	animation: sectionPulse 2.5s ease-in-out infinite;
	transition: background 0.2s;
}
@keyframes sectionPulse {
	100%,
	0% {
		box-shadow: 0 0 0 0 rgba(208, 211, 205, 0.5);
	}
	100% {
		box-shadow: 0 0 0 10px rgba(208, 211, 205, 0);
	}
} */

.copy-toast {
	position: fixed;
	bottom: 28px;
	left: 50%;
	transform: translateX(-50%) translateY(20px);
	background: var(--surface2);
	border: 1px solid var(--border);
	border-radius: 100px;
	padding: 8px 18px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--accent);
	opacity: 0;
	transition:
		opacity 0.25s,
		transform 0.25s;
	pointer-events: none;
	z-index: 5000;
}
.copy-toast.show {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

/* ══ HERO & INTRO BAR ── */
#hero {
	padding: 20px 48px 0 48px;
}
#hero h1 {
	/* text-decoration: underline wavy 1px; */
	font-weight: 900;
	/* font-style: italic; */
	/* text-decoration: underline; */
	font-size: clamp(44px, 7vw, 88px);
	line-height: 0.92;
	letter-spacing: -0.01em;
	color: var(--surface);
	color: white;
	text-align: center;
	text-shadow:
		/* 0 0 20px var(--surface), */
		/* 0 0 20px rgb(255, 255, 255, 0.5), */
		0 0 30px var(--surface),
		0 0 70px var(--surface),
		/* 0 0 20px rgba(100, 118, 97, 1.0), */ /* 0 0 30px rgba(100, 118, 97, 1.0), */ 0 0 40px rgba(100, 118, 97, 1);
	/* padding: 10px 0px; */
}
#ibar {
	background: rgba(82, 70, 30, 0.75);
	/* background: #5e5d53; */
	padding: 16px 48px;
	margin-top: 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	border-top: 1px solid rgba(200, 168, 75, 0.25);
	border-bottom: 1px solid rgba(200, 168, 75, 0.25);
}
#ibar p {
	font-size: clamp(13.5px, 0.8vw, 50px);
	color: var(--dimtitle);
	line-height: 1.65;
}
#ibar p a {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}
#ibar p strong {
	font-weight: 700;
}
.pbtn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 5px 22px;
	border-radius: 100px;
	border: 2px solid var(--accent);
	color: var(--accent);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: 0.1em;
	white-space: nowrap;
	transition:
		background 0.2s,
		color 0.2s;
	cursor: pointer;
}
.pbtn::before {
	content: "»";
	font-size: 14px;
}
.pbtn:hover {
	background: var(--accent);
	color: #1a1300;
}

/* ── READABILITY / LAYOUT HELPERS ADDED FOR EC BLOCKS ── */
.hbox {
	background: rgba(200, 168, 75, 0.07);
	border-left: 3px solid var(--accent);
	border-radius: 0 6px 6px 0;
	padding: 10px 14px;
	margin: 10px 0;
	font-size: clamp(13.5px, 0.8vw, 50px);
	color: #888888;
	line-height: 1.65;
}

.hbox b,
.hbox strong {
	color: var(--accent);
	font-weight: 700;
}

.hbox p + p {
	margin-top: 5px;
}

.hbox-g {
	background: rgba(100, 118, 97, 0.08);
	border-left: 3px solid var(--g);
	border-radius: 0 6px 6px 0;
	padding: 10px 14px;
	margin: 10px 0;
	font-size: clamp(13.5px, 0.8vw, 50px);
	color: var(--tdim);
	line-height: 1.15;
}

/* .hbox-g b, */
.hbox-g strong {
	color: var(--gl);
	font-weight: 700;
}
.hbox-g b {
	color: var(--accent);
	font-weight: 700;
}

.dbox {
	background: rgba(0, 0, 0, 0.32);
	border: 1px solid var(--border);
	border-radius: 6px;
	padding: 12px 16px;
	margin: 10px 0;
	font-size: 12.5px;
	color: var(--tdim);
	line-height: 1.8;
}

.dbox b,
.dbox strong {
	color: var(--text);
	font-weight: 600;
}

.nlist {
	list-style: none;
	display: flex;
	flex-direction: column;
	/* gap: 2px; */
	/* margin: 6px 0; */
	padding-left: 0;
	padding-bottom: 10px;
}

.nlist > li {
	/* display: flex; */
	/* gap: 10px; */
	font-size: clamp(13.5px, 0.8vw, 50px);
	color: var(--tdim);
	line-height: 1.15;
	margin-top: 10px;
}

.nlist > li > .nn {
	/* color: var(--accent); */
	color: var(--gl);
	font-weight: 700;
	font-size: clamp(13.5px, 0.8vw, 50px);
	min-width: 18px;
	flex-shrink: 0;
	/* padding-top: 2px; */
	font-family: monospace;
	letter-spacing: 0;
}

/* ══════════════════════════════════════════════════════════ */
/* ══ PORTFOLIO COMPONENTS (Cards, Slideshows, Timeline)   ── */
/* ══════════════════════════════════════════════════════════ */

.amp {
	font-family: "Times New Roman";
	text-shadow:
		0.5px 0 currentColor,
		-0.5px 0 currentColor;
}

/* Timeline */
#tls {
	padding: 36px 48px 0;
}
.tlbox {
	background: var(--surface);
	/* background: #0c0c0c; */
	/* border: 1.5px solid var(--border); */
	border: 2.5px solid var(--border);
	border-radius: var(--r);
	/* padding: 20px 24px; */
	padding: 20px;
	/* margin: 0 -24px; */
	margin: 0;
	transition:
		border-color 0.25s,
		box-shadow 0.25s,
		transform 0.25s;
}
.tlbox:hover {
	border-color: rgba(100, 118, 97, 0.6);
	box-shadow:
		0 0 7px 4px rgba(100, 118, 97, 0.1),
		0 0 9px 4px rgba(100, 118, 97, 0.06);
	transform: scale(1.005);
}
.tlbox h3 {
	font-weight: 900;
	font-size: clamp(25px, 1.9vw, 200px);
	color: var(--dimtitle);
	margin-bottom: -3px;
}
.tlsub {
	font-size: clamp(13.5px, 0.9vw, 50px);
	color: var(--tmut);
	margin-bottom: 14px;
}
.tlframe {
	border-radius: 12.5px;
	overflow-x: auto; /* FIX: Allows horizontal scroll on narrow screens */
	overflow-y: hidden;
	height: 195px; /* Adjusted to tightly fit the scaled timeline height */
	-webkit-overflow-scrolling: touch; /* Smooth scrolling for iOS devices */
}

/* Optional: Add a subtle customized scrollbar for the timeline container */
.tlframe::-webkit-scrollbar {
	height: 2px;
}
.tlframe::-webkit-scrollbar-thumb {
	background: var(--accent);
	border-radius: 100px;
}

.tlframe iframe {
	width: 100%;
	min-width: 860px; /* FIX: Prevents the iframe from shrinking past the chart's actual visual width */
	height: 195px; /* Match the container */
	border: none;
	pointer-events: auto; /* CRITICAL FIX: Allows clicking the links and touch-scrolling the iframe */
}
.scrollcue-btn {
	display: flex;
	justify-content: center;
	padding: 20px 0 0;
	background: none;
	border: none;
	width: 100%;
	cursor: pointer;
}
.scrollcue-btn svg {
	width: 34px;
	height: 34px;
	stroke: var(--g);
	fill: none;
	stroke-width: 2.5;
	animation: bounce 2.2s ease-in-out infinite;
	transition: stroke 0.2s;
}
.scrollcue-btn:hover svg {
	stroke: var(--accent);
}
@keyframes bounce {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(6px);
	}
}

/* Tabs */
.tg {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 14px;
}
.tglbl {
	font-size: 11px;
	font-style: italic;
	/* color: white; */
	color: var(--dimtitle);
	margin-right: 4px;
	white-space: nowrap;
	line-height: 1.35;
	font-weight: 700;
}
.tab-btns {
	display: flex;
	gap: 5px;
}
.tb {
	display: inline-flex;
	align-items: center;
	height: 30px;
	padding: 0 15px;
	/* border: 1.5px solid white; */
	border: 1.5px solid var(--dimtitle);
	background: transparent;
	/* color: white; */
	color: var(--dimtitle);
	font-family: "Rubik", sans-serif;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.07em;
	border-radius: 3px;
	cursor: pointer;
	transition:
		background 0.15s,
		color 0.15s,
		transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.tab-btns .tb:first-child {
	border-radius: 100px 20px 20px 100px;
}
.tab-btns .tb:last-child {
	border-radius: 20px 100px 100px 20px;
}
.tab-btns .tb:only-child {
	border-radius: 100px;
}
.tb:hover:not(:disabled) {
	background: rgba(255, 255, 255, 0.05);
	transform: translateY(-1px);
}
.tb:disabled {
	/* background: white; */
	background: var(--dimtitle);
	color: var(--bg);
	cursor: default;
}

/* Slideshow */
.ss-wrapper {
	position: relative;
	overflow: hidden;
	padding: 20px;
	padding-top: 10px;
	padding-right: 30px;
	padding-bottom: 0 !important;
	margin: -10px -20px 0 -20px;
	transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	box-sizing: content-box;
}
.ss-clip {
	overflow: visible;
	transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
}
.sscont {
	overflow: visible;
}
.ssfr {
	display: flex;
	will-change: transform;
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.ssslide {
	flex: none;
	min-width: 0;
}
.sarr {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--surface2);
	border: 1px solid var(--border);
	color: var(--tdim);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
	font-size: 18px;
	padding: 0;
	line-height: 1;
	opacity: 0;
	cursor: pointer;
	transition:
		opacity 0.2s,
		background 0.15s,
		top 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	display: none !important; /* Managed by JS/HTML inline style when active */
}
.ss-wrapper:hover .sarr {
	opacity: 1;
}
.sarr:hover {
	background: var(--surface);
	color: var(--text);
}
.sarr.spr {
	left: 8px;
}
.sarr.snx {
	right: 8px;
}

/* Experience Cards */
.ec {
	background: var(--surface);
	/* border: 1.5px solid var(--border); */
	border: 2.5px solid var(--border);
	border-radius: var(--r);
	overflow: hidden;
	opacity: 0;
	transform: translateY(16px);
	transition:
		border-color 0.25s,
		box-shadow 0.25s,
		opacity 0.5s,
		transform 0.5s;
	will-change: transform, opacity;
}
.ec.visible {
	opacity: 1;
	transform-origin: top left;
	transform: translateY(0) scale(1);
}
.ec.visible:hover {
	border-color: rgba(100, 118, 97, 0.6);
	box-shadow:
		0 0 7px 4px rgba(100, 118, 97, 0.1),
		0 0 9px 4px rgba(100, 118, 97, 0.06);
	transform-origin: top left;
	transform: translateY(0) scale(1.01);
}
.ech {
	padding: 15px 20px 11px;
	border-bottom: 1px solid var(--border);
}
/* .echr { display: flex; justify-content: space-between; align-items: flex-start; gap: 5px;} */
.ect {
	font-weight: 900;
	font-size: clamp(25px, 1.9vw, 200px);
	letter-spacing: 0.01em;
	color: var(--dimtitle);
	line-height: 1;
	padding-bottom: 0px;
}
.ecm {
	display: flex;
	align-items: baseline;
	gap: 5px;
	flex-wrap: wrap;
	margin-top: 4px;
	margin: 10px 0;
	line-height: 0.8;
	font-size: clamp(13.5px, 0.9vw, 50px);
	font-style: normal;
	font-weight: 500;
	color: var(--gl);
	text-transform: uppercase;
}
.ecm span:not(:last-child)::after {
	content: " \00B7 "; /* Unicode for a middle dot (·). You can also use " • " */
	content: " // ";
	margin: 0 5px; /* Adjust the spacing around the dot */
	opacity: 1.0; /* Optional: dims the dot slightly so it doesn't distract from the text */
	font-weight: normal;
	color: var(--tdim);
	color: var(--accent);
	color: var(--dimtitle);
}
/* .ecmeta { font-size: clamp(11px,1vw,20px); color: var(--tdim); line-height: 1.3; } */
/* .ecrole { font-size: clamp(11px,1vw,20px); font-style: italic; font-weight: 300; color: var(--tdim); } */
/* .ecdate { font-weight: 700; font-size: clamp(11px,1vw,20px); color: var(--gl); letter-spacing: 0.04em; } */

/* 1. The Parent Cell */
.echr {
	display: flex;
	justify-content: space-between;
	align-items: flex-start; /* Kills the stretch calculation bug completely */
	gap: 15px;
}

/* 2. The White Background Rectangle */
.eclogos {
	display: flex;
	align-items: center;
	background: white;
	padding: 6px 10px;
	border-radius: 6px;
	gap: 10px;
	flex-shrink: 0;
	/* margin-top: 0px; */
	margin-right: -8px;
}

/* 3. The Images */
.eclogos img {
	/* This mimics the dynamic height of your text by scaling synchronously! */
	height: clamp(35px, 3.5vw, 55px);
	width: auto;
	object-fit: contain;
	filter: brightness(0.88);
}

.darkimgs {
	background: white;
	padding: 5px;
	border-radius: 6px;
}

/* Badges */
.brow {
	padding: 9px 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
.badge {
	margin-top: 5px;
	display: inline-flex;
	align-items: center;
	padding: 2px 9px;
	border-radius: 2px;
	background: transparent;
	border: 1px solid var(--badge);
	color: var(--badge);
	font-size: clamp(11px, 0.7vw, 40px);
	font-weight: 600;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

/* Card Body */
.cbody {
	display: grid;
	grid-template-columns: 1fr 240px;
	gap: 16px;
	padding: 8px 20px 16px;
	align-items: start;
}
.cbody.full {
	grid-template-columns: 1fr;
}
.cbody.wimg {
	grid-template-columns: 1fr 270px;
}
.cbody.flex-img {
	grid-template-columns: 3fr 1fr;
}
.cbody > * {
	min-width: 0;
}
.cbody > div > *:first-child {
	margin-top: 0 !important;
}
.cintro {
	font-size: clamp(13.5px, 0.8vw, 50px);
	color: var(--tdim);
	line-height: 1.7;
	/* margin-bottom: 10px; */
}
.cbul {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.cbul > li {
	position: relative;
	padding-left: 16px;
	font-size: clamp(13.5px, 0.8vw, 50px);
	line-height: 1.15;
	color: var(--tdim);
	padding-bottom: 3px;
}
.cbul > li::before {
	content: "•";
	position: absolute;
	left: 2px;
	color: var(--tdim);
}
.cbul > li > ul {
	margin-top: 4px;
	padding-left: 18px;
	list-style: disc;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.cbul > li > ul {
	margin-top: 4px;
	padding-left: 18px;
	list-style: none; /* Removed 'disc' */
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.cbul > li > ul > li {
	position: relative; /* Added for bullet positioning */
	font-size: clamp(13.5px, 0.8vw, 50px);
	color: var(--tdim);
	line-height: 1.15;
	padding-bottom: 3px;
}

/* --- ADD THIS NEW BLOCK --- */
.cbul > li > ul > li::before {
	content: "•"; /* Uses a hollow circle for sub-items. (You can also use "·" for a tiny solid dot) */
	position: absolute;
	left: -14px;
	color: var(--tdim);
	font-size: clamp(13.5px, 0.8vw, 50px); /* Adjust this to explicitly control the bullet size */
}
.cbul b,
.cbul strong {
	color: var(--bullbold);
	font-weight: 700;
}
.cbul i {
	font-style: italic;
}
.cbul a {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.csub {
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px solid var(--border);
}
.cslbl {
	font-size: clamp(13.5px, 0.9vw, 50px);
	font-weight: 800;
	letter-spacing: 0.1em;
	color: var(--miniheader);
	text-transform: uppercase;
	margin-bottom: 5px;
	padding-top: 15px;
}

/* Stat Rows */
.srow {
	display: flex;
	/* gap: 1px; */
	/* background: var(--border); */
	border: 1px solid var(--border);
	border-radius: 8px;
	overflow: hidden;
	margin: 10px 0;
}
.scell {
	/* background: var(--surface2); */
	flex: 1;
	min-width: 80px;
	padding: 12px 14px;
	border: 1px solid var(--border);
}
.slbl {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.1em;
	color: var(--tdim);
	text-transform: uppercase;
	margin-bottom: 3px;
}
.sval {
	font-weight: 900;
	font-size: 22px;
	color: var(--gl);
	line-height: 1;
}
.ssub {
	font-size: 11px;
	color: var(--tdim);
	margin-top: 4px;
	line-height: 1.35;
}

/* Link Buttons */
.clinks {
	padding: 10px 20px 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	border-top: 1px solid var(--border);
	background-color: rgba(255, 255, 255, 0.05);
}
.clnk {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 28px;
	padding: 0px 14px;
	border-radius: 100px;
	border: 1px solid rgba(90, 90, 85, 0.4);
	background: rgba(22, 22, 20, 0.5);
	color: var(--tmut);
	text-transform: uppercase;
	font-size: clamp(11px, 0.6vw, 30px);
	font-weight: 600;
	letter-spacing: 0.05em;
	text-decoration: none;
	transition:
		border-color 0.15s,
		background 0.15s,
		transform 0.15s,
		color 0.15s;
}
.clnk::before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--tmut);
	flex-shrink: 0;
	transition:
		transform 0.15s,
		background 0.15s;
}
.clnk:hover {
	border-color: rgba(200, 168, 75, 0.55);
	background: rgba(200, 168, 75, 0.09);
	color: var(--accent);
	transform: translateY(-1px);
}
.clnk:hover::before {
	transform: scale(1.4);
	background: var(--accent);
}

/* Carousels & Media Elements */
.cw {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	background: var(--surface2);
	max-height: 50vh;
	cursor: pointer;
	transition:
		transform 0.922s ease,
		box-shadow 0.22s ease;
	margin-top: 0px;
	margin-bottom: 2px;
}
.cw:hover {
	transform: scale(1.007);
	box-shadow: 0px 0px 12px rgba(98, 127, 100, 0.5);
}
.cw-inner {
	background: #1a1a1a;
	min-height: 200px;
	position: relative;
	width: 100%;
	height: auto !important;
	aspect-ratio: 4 / 3;
}
.cw-inner.tall-h {
	height: 300px;
}
.cw-inner.port-h {
	height: min(45vh, 340px);
}
.cimg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: none;
}
.cimg.on {
	display: block;
}
.cimg.contain {
	object-fit: contain;
	background: transparent;
}

.cdots {
	display: flex;
	justify-content: center;
	gap: 5px;
	padding: 6px 0 2px;
}
.cdot {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--tmut);
	transition: all 0.18s;
	cursor: pointer;
}
.cdot:hover {
	background: var(--accent);
	transform: scale(1.2);
}
.cdot.on {
	background: var(--accent);
	transform: scale(1.5);
}
.car-caption {
	font-size: 10.5px;
	color: var(--tdim);
	padding: 3px 2px 0;
	min-height: 16px;
	line-height: 1.4;
	font-style: italic;
	margin-bottom: 15px;
	text-align: center;
}
.car-caption a {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Lightbox */
#lb {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s;
}
#lb.open {
	opacity: 1;
	pointer-events: all;
}
.lbb {
	position: absolute;
	inset: 0;
	background: rgba(35, 41, 34, 0.88);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	cursor: pointer;
}
.lbbox {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	z-index: 1;
	max-width: 90vw;
}
.lbi {
	height: 45vh;
	width: auto;
	max-width: 88vw;
	border-radius: 8px;
	object-fit: contain;
}
.lb-bottom {
	position: relative;
	width: min(50vw, 400px);
	min-height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 48px;
}
.lbcap {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.6);
	text-align: center;
	flex: 1;
	max-width: 100%;
}
.lbcap a {
	color: var(--accent);
}
.lbclose {
	position: absolute;
	top: -38px;
	right: 0;
	background: none;
	border: none;
	color: #fff;
	font-size: 30px;
	line-height: 1;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.lb-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 20px;
	transition: background 0.15s;
	cursor: pointer;
}
.lb-nav:hover {
	background: rgba(255, 255, 255, 0.22);
}
.lb-nav.lb-p {
	left: 0;
}
.lb-nav.lb-n {
	right: 0;
}

/* ══════════════════════════════════════════════════════════ */
/* ══ HOME PAGE COMPONENTS                                 ── */
/* ══════════════════════════════════════════════════════════ */

/* About Section */
#about {
	padding: 0 48px;
	margin-top: 30px;
}
.about-card {
	position: relative;
	background: var(--surface);
	/* background: #0c0c0c3d; */
	border: 1.5px solid var(--border);
	border: 2px solid var(--border);
	/* border-radius: var(--r) 100px var(--r) 40px; */
	border-radius: 40px;
	padding: 28px 32px;
	margin-top: 14px;
	transition:
		border-color 0.25s,
		box-shadow 0.25s,
		transform 0.25s,
		border-radius 0.5s;
	width: clamp(50%, 1000px, 100%);
}
.about-card:hover {
	border-color: rgba(100, 118, 97, 0.6);
	box-shadow:
		0 0 7px 4px rgba(100, 118, 97, 0.1),
		0 0 9px 4px rgba(100, 118, 97, 0.06);
	transform: scale(1.005);
		border-radius: 40px 150px 40px 40px;

}
.about-card:hover .about-badge {
	border-color: rgba(100, 118, 97, 0.6);
	/* color: rgba(100, 118, 97, 0.6); */
	transform: translateX(-2vw);
	box-shadow:
		0 0 4px 4px rgba(100, 118, 97, 0.1),
		0 0 4px 4px rgba(100, 118, 97, 0.06);
}
.about-badge {
	position: absolute;
	top: -15px;
	right: 25%;
	background: var(--surface);
	/* background: var(--bg); */
	/* background: #3f403f; */
	/* border: 1.5px solid var(--border); */
	border: 2px solid var(--border);
	border-radius: 5px;
	padding: 4px 11px;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.2em;
	/* color: rgba(100, 118, 97, 0.6); */
	color: var(--g);
	text-transform: uppercase;
	transition:
		border-color 0.25s,
		color 0.25s,
		transform 0.5s,
		box-shadow 0.25s;
	
}
.about-photo-wrap {
	float: right;
	width: 168px;
	height: 168px;
	border-radius: 50%;
	border: 2px solid rgba(100, 118, 97, 0.4);
	margin: 0 0 15px 25px;
	shape-outside: circle(50%);
	overflow: hidden;
	transform: translateZ(0); /* Prevents Safari from breaking the border-radius during transform */
}

/* The image scales smoothly */
.about-photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transform: scale(1.15);
}

/* Trigger the internal zoom when hovering the whole about-card */
.about-photo-wrap:hover .about-photo {
	transform: scale(1.3);
}
.about-name {
	font-weight: 900;
	font-size: clamp(34px, 4.2vw, 58px);
	color: var(--g);
	letter-spacing: 0.01em;
	line-height: 1;
	display: flex;
	align-items: flex-end;
	gap: 6px;
	margin-top: -5px;
}
.name-chevron {
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 12px solid var(--g);
	margin-bottom: 10px;
	flex-shrink: 0;
	transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.name-chevron-btn {
	border: 0;
	background: transparent;
	padding: 0;
	margin: 0;
	display: inline-flex;
	align-items: flex-end;
	cursor: pointer;
	line-height: 0;
}
.name-chevron-btn:hover .name-chevron {
	border-top-color: var(--accent);
	transform: translateY(-2px);
}

.name-chevron-btn:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 4px;
	border-radius: 4px;
}
.about-role {
	/* font-size: 15px; */
			font-size: clamp(15px,1vw,40px);

	color: var(--tdim);
	margin: 0px 0 16px;
	font-weight: 700;
}
.about-bio {
	font-size: clamp(13.5px, 0.8vw, 50px);
	color: var(--tdim);
	line-height: 1.72;
	margin-bottom: 10px;
}
.about-bio a {
	color: var(--g);
	/* font-style: italic; */
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color 0.15s;
}
.about-bio a:hover {
	color: var(--accent);
}

/* Featured Work Feed */
#featured {
	padding: 40px 48px 52px;
}
.fw-head {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 26px;
}
.fw-title {
	font-weight: 900;
	font-size: clamp(26px, 3.5vw, 44px);
	color: var(--text);
	letter-spacing: 0.02em;
}
.fw-see-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 15px;
	border: 1.5px solid var(--border);
	border-radius: 100px;
	font-size: 12px;
	font-weight: 700;
	color: var(--dimtitle);
	letter-spacing: 0.08em;
	background: var(--surface);
	transition:
		border-color 0.2s,
		color 0.2s,
		background 0.2s;
}
.fw-see-btn:hover {
	border-color: var(--g);
	color: var(--g);
	background: var(--gpale);
}
.fw-grid {
	display: flex;
	grid-template-columns: auto 330px;
	gap: 24px;
	align-items: start;
	justify-content: start;
	margin-top: -20px;


}
.work-list {
	flex: 0 1 clamp(50%, 1000px, 100%);
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-bottom: 25px;
}

.insta-section {
	flex: 0 0 330px;
	width: 330px;
}
/* Work Item Box (.wi) */
.wi {
	display: flex;
	background: var(--surface);
	border: 1.5px solid var(--border);
	border-radius: var(--r);
	overflow: hidden;
	opacity: 0;
	transform: translateY(16px);
	text-decoration: none;
	transition:
		border-color 0.25s,
		box-shadow 0.25s,
		transform 0.4s,
		opacity 0.5s;
}
.wi.vis {
	opacity: 1;
	transform: translateY(0);
}
.wi.vis:hover {
	border-color: rgba(100, 118, 97, 0.6);
	box-shadow:
		0 0 7px 4px rgba(100, 118, 97, 0.1),
		0 0 9px 4px rgba(100, 118, 97, 0.06);
	transform: scale(1.008);
}
.wi-img-wrap {
	width: 180px;
	min-height: 100px;
	overflow: hidden;
	flex-shrink: 0;
	border-right: 1px solid var(--border);
}
.wi-thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.wi.vis:hover .wi-thumb {
	transform: scale(1.1);
} /* internal zoom effect */
.wi-body {
	padding: 16px 20px;
	flex: 1;
	min-width: 0;
}
.wi-title {
	font-weight: 900;
	font-size: clamp(18px,1vw,30px);
	color: var(--dimtitle);
	letter-spacing: 0.02em;
	text-transform: uppercase;
	margin-bottom: 6px;
	transition: color 0.2s;
}
.wi.vis:hover .wi-title {
	color: var(--text);
}
.wi-bul {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.wi-bul > li {
	position: relative;
	padding-left: 13px;
	font-size: clamp(13px,0.75vw,30px);
	color: var(--tdim);
	line-height: 1.3;
}
.wi-bul > li::before {
	content: "•";
	position: absolute;
	left: 2px;
	color: var(--tmut);
}
.wi-bul b,
.wi-bul strong {
	color: var(--bullbold);
	font-weight: 700;
}
.wi-text {
	font-size: clamp(13px,0.75vw,30px);
	color: var(--tdim);
	line-height: 1.65;
}

/* Instagram Component */
.insta-head {
	display: flex;
	align-items: center;
	gap: 10px;
	/* margin-bottom: 10px; */
	margin-bottom: 5px;
}
.insta-head-title {
	font-weight: 900;
	font-size: clamp(22px, 1.7vw, 50px);
	/* color: var(--text); */
	color: var(--dimtitle);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.insta-ig-link {
	width: clamp(22px, 1.7vw, 50px);
	height: clamp(22px, 1.7vw, 50px);
	border-radius: 7px;
	border: 1.5px solid var(--border);
	background: var(--surface);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--tdim);
	font-size: clamp(10px, 0.7vw, 40px);
	transition:
		color 0.2s,
		border-color 0.2s,
		background 0.2s;
}
.insta-ig-link:hover {
	color: var(--g);
	border-color: var(--g);
	background: var(--gpale);
}
.insta-card {
	background: var(--surface);
	border: 1.5px solid var(--border);
	border-radius: var(--r);
	overflow: hidden;
	transition:
		border-color 0.25s,
		box-shadow 0.25s,
		transform 0.25s;
}
.insta-card:hover {
	/* border-color: rgba(100, 118, 97, 0.4);
	box-shadow: 0 0 7px 4px rgba(100, 118, 97, 0.05);
	transform: scale(1.005); */

	border-color: rgba(100, 118, 97, 0.6);
	box-shadow:
		0 0 7px 4px rgba(100, 118, 97, 0.1),
		0 0 9px 4px rgba(100, 118, 97, 0.06);
	transform: scale(1.008);
}
.insta-profile {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	border-bottom: 1px solid var(--border);
}
.insta-avatar {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--g);
	flex-shrink: 0;
}
.insta-username {
	font-weight: 700;
	/* font-size: 12px; */
		font-size: clamp(14px,0.75vw,30px);
	color: var(--text);
	line-height: 1.2;
}
.insta-location {
	/* font-size: 10px; */
		font-size: clamp(12px,0.6vw,20px);

	color: var(--tdim);
	display: flex;
	align-items: center;
	gap: 3px;
	margin-top: 1px;
}
.insta-photo-wrap {
	position: relative;
	width: 100%;
	background: #000;
	overflow: hidden;
}
.insta-photo-inner {
	position: relative;
	width: 100%;
	padding-bottom: 80%;
}
.insta-photo {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.4s;
	pointer-events: none;
}
.insta-photo.ion {
	opacity: 1;
}
.insta-arr {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.55);
	border: 1px solid rgba(255, 255, 255, 0.15);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
	z-index: 2;
	opacity: 0;
	transition: opacity 0.2s;
	cursor: pointer;
}
.insta-photo-wrap:hover .insta-arr {
	opacity: 1;
}
.insta-arr.arr-l {
	left: 8px;
}
.insta-arr.arr-r {
	right: 8px;
}
.insta-actions {
	padding: 9px 14px 4px;
	display: flex;
	align-items: center;
	gap: 14px;
}
.insta-act {
	color: var(--tdim);
	font-size: 17px;
	transition: color 0.15s;
	line-height: 1;
	/* cursor: pointer; */
}
/* .insta-act:hover {
	color: var(--text);
}
.insta-act.heart:hover {
	color: #e63946;
} */
.insta-bm {
	margin-left: auto;
}
.insta-dots {
	display: flex;
	justify-content: center;
	gap: 5px;
	padding: 5px 0 2px;
}
.insta-dot {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--tmut);
	transition: all 0.18s;
	cursor: pointer;
}
.insta-dot.ion {
	background: var(--accent);
	transform: scale(1.5);
}
.insta-footer {
	padding: 4px 14px 12px;
}
.insta-likes {
	font-weight: 700;
	font-size: 12px;
	color: var(--text);
	margin-bottom: 3px;
}
.insta-caption {
	/* font-size: 11.5px; */
			font-size: clamp(12px,0.6vw,20px);

	color: var(--tdim);
	line-height: 1.5;
}
.insta-caption a {
	color: var(--text);
	font-weight: 700;
}

/* Contact Form Component */
#contact {
	padding: 0 48px 52px;
}
.contact-card {
	display: grid;
	grid-template-columns: 210px 1fr;
	/* background: var(--surface); */
	border: 1.5px solid var(--border);
	border-radius: var(--r);
	overflow: hidden;
	transition:
		border-color 0.25s,
		box-shadow 0.25s,
		transform 0.25s;
}
.contact-card:hover {
	border-color: rgba(100, 118, 97, 0.6);
	box-shadow:
		0 0 7px 4px rgba(100, 118, 97, 0.1),
		0 0 9px 4px rgba(100, 118, 97, 0.06);
	transform: scale(1.005);
}
.contact-left {
	/* background: #0d0d0d; */
	background: var(--surface);
	padding: 32px 22px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	border-right: 1px solid var(--border);
}
.contact-title {
	font-weight: 900;
	font-size: 28px;
	color: #fff;
	line-height: 1;
	margin-bottom: 10px;
}
.contact-sub {
	font-size: 12px;
	color: var(--tdim);
}
.contact-right {
	padding: 24px 28px;
	background: transparent;
}
.form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 12px;
}
.form-field {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.form-label {
	font-size: clamp(9.5px,0.6vw,20px);
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--tmut);
	text-transform: uppercase;
}
.form-label span {
	color: var(--accent);
}
.form-input {
	/* background: #161616; */
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: 6px;
	padding: 8px 12px;
	font-family: "Rubik", sans-serif;
	font-size: 13px;
	color: var(--text);
	outline: none;
	transition: border-color 0.15s;
	width: 100%;
}
.form-input:focus {
	border-color: var(--g);
}
textarea.form-input {
	min-height: 110px;
	resize: vertical;
}
.form-send {
	display: block;
	width: 100%;
	padding: 10px;
	background: var(--bullbold);
	border: none;
	border-radius: 6px;
	font-family: "Rubik", sans-serif;
	font-weight: 700;
	font-size: 11.5px;
	letter-spacing: 0.12em;
	color: #fff;
	margin-top: 12px;
	cursor: pointer;
	transition: background 0.2s;
	text-transform: uppercase;
}
.form-send:hover {
	background: var(--g);
}

/* ══════════════════════════════════════════════════════════ */
/* ══ FOOTER & UTILS                                       ── */
/* ══════════════════════════════════════════════════════════ */
.div {
	border: none;
	border-top: 1px solid var(--border);
	/* border-top: 8px solid var(--border); */
	/* border-radius: 100px; */
	/* margin: 0 calc(2.75vw + 10px); */
}
footer {
	/* background: #080808; */
	background: var(--surface-full);
	padding: 18px 48px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	border-top: 1px solid var(--border);
}
.fnav {
	display: flex;
	gap: 20px;
}
.fnav a {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #5a5a58;
	transition: color 0.15s;
}
.fnav a:hover,
.fnav a.fp {
	color: var(--accent);
}
.fnav a.fp {
	border-bottom: 2px solid var(--accent);
}
.ficons {
	display: flex;
	gap: 8px;
}
.fi {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid var(--border);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--border);
	font-size: 12px;
	font-weight: 700;
	transition: all 0.15s;
	text-decoration: none;
}
.fi:hover {
	border-color: var(--accent);
	color: var(--accent);
}

/* ══════════════════════════════════════════════════════════ */
/* ══ RESPONSIVE OVERRIDES                                 ── */
/* ══════════════════════════════════════════════════════════ */
@media (max-width: 1050px) {
	:root {
		--navh: 25px;
	}

	/* Hide Desktop Header Elements */
	.logo,
	.logo-icon,
	.ncontact {
		display: none !important;
	}

	/* Show Mobile Header Elements */
	.mobile-box {
		display: inline-flex !important;
	}
	.mobile-menu-btn {
		display: block !important;
		border-radius: 100px;
		/* border: 2px solid rgba(47, 61, 47, 0.705);
		background: #6d836a6b; */
		border: 2px solid var(--gd);
		/* background: #232922b7; */
		background: #424b40b7;
		backdrop-filter: blur(4px);
		-webkit-backdrop-filter: blur(4px);
		box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);

		padding: 12px 14px;
		color: white;
		color: #b4bdafb5;
		/* #596453b5 */
	}
	.nav-center {
		padding: 0 0px;
		justify-content: flex-start;
	}

	/* Global Structure */
	header {
		left: 0;
	}
	.navbox {
		width: max-content !important;
		margin: 0 auto;
	}
	#mn {
		margin-left: 0;
	}

	/* Adjust Paddings & Margins */
	.sb,
	#tls,
	#hero,
	#about,
	#featured,
	#contact {
		padding-left: 22px;
		padding-right: 22px;
	}
	#ibar {
		padding: 14px 22px;
	}
	.sh {
		margin: 0 -22px;
	}
	.sh-pulse-btn {
		margin-left: 22px;
	}
	footer {
		padding: 18px 22px;
	}

	/* Sidebar Mobile Behavior */
	#sb {
		display: flex !important;
		transform: translateX(-100%);
		transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
		box-shadow: 4px 0 24px rgba(0, 0, 0, 0.5);
	}
	#sb.sb-open {
		transform: translateX(0);
	}

	/* Home Grid Breakdowns */
	.fw-grid {
		grid-template-columns: 1fr;
	}
	.contact-card {
		grid-template-columns: 1fr;
	}
	.contact-left {
		border-right: none;
		border-bottom: 1px solid var(--border);
	}

	.cw {
		aspect-ratio: 5/3;
	}
	.ecm {
		flex-direction: column;
		align-items: flex-start;
		margin-top: 15px !important;
	}
	.ecm span:not(:last-child)::after {
		opacity: 0;
	}
	.lbi {
		height: 40vw;
		width: auto;
		/* max-width: 88vw; */
	}

	.about-card:hover .about-badge {
	transform: translateX(-10vw);

	
}
}
@media (max-width: 750px) {
	.about-name {
		margin-top: 10px;
	}
}
@media (max-width: 820px) {
	/* Portfolio Card Breakdowns */
	.cbody,
	.cbody.wimg,
	.cbody.flex-img {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 1150px) {
	/* Contact Form */
	.form-row {
		grid-template-columns: 1fr;
	}

	/* Home Work Items */
	.wi {
		flex-direction: column;
		width: 100%;
	}
	.wi-img-wrap {
		width: 100%;
		height: 35vw;
		border-right: none;
		border-bottom: 1px solid var(--border);
	}
	.wi-bul {
		gap: 0px !important;
	}
}
@media (max-width: 750px) {
	/* Change the flex container to stack vertically */
	.fw-grid {
		flex-direction: column;
	}

	/* Tell both the work list and Instagram section to take up the full width */
	.work-list {
		flex: none;
		width: 100%;
	}
	.insta-section {
		flex: none;
		width: 100%;
	}
	.insta-photo-wrap {
		aspect-ratio: 4/3;
	}
	.about-photo-wrap {
		width: 20vw;
		height: 20vw;
	}
}

/* ══════════════════════════════════════════════════════════ */
/* ══ PAGE PRELOADER ANIMATION                             ── */
/* ══════════════════════════════════════════════════════════ */

#site-preloader {
	position: fixed;
	inset: 0;
	background: var(--bg);
	/* background: var(--surface); */
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	/* Use a premium cubic-bezier easing and remove the transform transition */
	transition:
		opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1),
		visibility 0.8s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: opacity, visibility;
}

#site-preloader.hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	/* Removed transform: translateY(-10px); from here */
}

.preloader-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	/* Add the transition to the inner content instead */
	transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform;
}

/* Float the content up smoothly when the preloader hides */
#site-preloader.hidden .preloader-content {
	transform: translateY(-40px);
}
.preloader-svg {
	/* width: 100%;
    height: 100%; */
	width: 250px;
	height: 250px;
	overflow: visible;
	transform: translateZ(0);
}

.blob {
	fill-opacity: 0;
	width: 500px;
	transform-origin: center;
	/* transform: scale(1); */
	/* will-change: transform, fill-opacity; */
	will-change: transform;

	animation: blobFadeIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.b-green {
	fill: var(--g);
	animation-delay: 0.3s;
}

.b-gold {
	fill: var(--accent);
	animation-delay: 0.6s;
}

.logo-path {
	fill: var(--text);
	fill-opacity: 0;
	stroke: var(--text);
	stroke-width: 4px;

	stroke-dasharray: 1;
	stroke-dashoffset: 1;

	transform: translateZ(0);
	will-change: transform;

	animation:
		drawLogo 1.6s cubic-bezier(0.4, 0, 0.2, 1) forwards,
		fillLogo 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards 1.7s;
}
/* .logo-path:nth-child(3) { stroke-dasharray: 2949; stroke-dashoffset: 2949; }
.logo-path:nth-child(4) { stroke-dasharray: 2615; stroke-dashoffset: 2615; }
.logo-path:nth-child(5) { stroke-dasharray: 481;  stroke-dashoffset: 481;  } */

@keyframes drawLogo {
	to {
		stroke-dashoffset: 0;
	}
}

@keyframes fillLogo {
	to {
		fill-opacity: 1;
	}
}

.preloader-text {
	font-weight: 900;
	font-size: clamp(22px, 2vw, 50px);
	letter-spacing: 0.15em;
	color: var(--title);
	opacity: 0;
	transform: translateY(10px);
	animation: fadeUp 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	animation-delay: 1.2s;
}

.preloader-subtext {
	font-size: clamp(15px, 1vw, 50px);
	font-weight: 300;
	letter-spacing: 0.15em;
	color: var(--g);
	opacity: 0;
	transform: translateY(10px);
	animation: fadeUp 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	animation-delay: 1.4s;
}

@keyframes blobFadeIn {
	0% {
		fill-opacity: 0;
		transform: scale(0.7); /* Give it a starting size */
	}
	100% {
		fill-opacity: 0.135;
		transform: scale(1);
	}
}

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