/* ----------------------------------------------------------------
	Canvas: Personal
-----------------------------------------------------------------*/

:root,.not-dark {
	--cnvs-themecolor: #AAA;
	--cnvs-themecolor-rgb: 170, 170, 170;


	--cnvs-primary-font: 'Inter', sans-serif;
	--cnvs-body-font: var(--cnvs-primary-font);
}

#header {
	--cnvs-primary-menu-font-size: 1.125rem;
	--cnvs-primary-menu-font-weight: 400;
	--cnvs-primary-menu-tt: none;
	--cnvs-primary-menu-ls: 0;
	--cnvs-primary-menu-hover-color: #000;
}

.is-expanded-menu .menu-item,
.is-expanded-menu .menu-link {
	--cnvs-primary-menu-padding-x: 25px;
}

.is-expanded-menu .menu-item {
	position: relative;
}

.is-expanded-menu .menu-item::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 20px;
	background-color: var(--cnvs-contrast-1000);
	width: 0%;
	height: 2px;
	transform: translateX(-50%);
	transition: .3s ease;
}

.is-expanded-menu .menu-item:hover::before {
	width: calc(100% - calc(var(--cnvs-primary-menu-padding-x) * 2));
}

.bg-light-yellow {
	background-color: #F9E4B4 !important;
}

.magnetic-hover {
	transition: all 0.3s linear;
}

.magnetic-hover > span,
.magnetic-hover > div {
	pointer-events: none;
	transition: all 0.1s linear;
}

.ticker-wrap .ticker .ticker-item {
	color: #FFF;
	font-size: 15vw;
	font-weight: 500;
	letter-spacing: -10px;
	font-size: max(9em, 13vw);
}

.section-works .work-item .ticker-wrap {
	--cnvs-ticker-duration: 180s;
	opacity: 0;
}

.section-works .work-item:hover .ticker-wrap {
	opacity: 1;
}

.section-works .ticker-wrap .ticker-item {
	font-size: 7vw;
	font-weight: 500;
	letter-spacing: 0px;
	font-size: max(5em, 7vw);
}

.cnvs-cursor {
	--cnvs-cursor-bg: #FFF;
	--cnvs-cursor-action-bg: #FFF;
	--cnvs-cursor-opacity: 1;
	--cnvs-cursor-action-opacity: 1;
	--cnvs-cursor-size: .5rem;
	mix-blend-mode: difference;
}

.text-fill-effect {
	--cnvs-text-fill-placeholder: rgba(var(--cnvs-contrast-rgb), 0.1);
	--cnvs-text-fill-color: linear-gradient(to right, var(--cnvs-contrast-1000), var(--cnvs-contrast-1000));
	-webkit-text-fill-color: var(--cnvs-text-fill-placeholder);
	position: relative;
	background-image: var(--cnvs-text-fill-color);
	background-size: calc(var(--cnvs-scroll-start) * 100%) 100%;
	background-repeat: no-repeat;
}

.text-splitter.scroll-detect span {
	opacity: calc(0.1 + (1 * var(--cnvs-scroll-percent)));
	transform: rotateX(20deg);
	transition: all .3s ease;
	transition-delay: 0s;
}

.text-splitter.scroll-detect.scroll-detect-inview span {
	transform: rotateX(0);
	transition-delay: calc(.04s * var(--cnvs-split-index));
}

.d-grid {
    display: -ms-grid;
    display: grid;
    grid-auto-columns: 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    -ms-grid-rows: auto auto auto;
    grid-template-rows: auto auto auto;
}


.d-grid .grid-item-1,
.d-grid .grid-item-2,
.d-grid .grid-item-3 {
	display: flex;
	position: relative;
    top: 0;
	width: 100%;
    height: 100%;
	overflow: hidden;
}

.d-grid .grid-item-1 {
	height: 400px;
	grid-column-start: 1;
	-ms-grid-column: 1;
    grid-column-end: 6;
    -ms-grid-column-span: 3;
    grid-row-start: 1;
    -ms-grid-row: 1;
    grid-row-end: 4;
    -ms-grid-row-span: 3;
}

.d-grid .grid-item-2 {
    height: 200px;
	grid-column-start: 5;
    -ms-grid-row: 2;
    grid-column-end: 9;
    -ms-grid-column-span: 3;
    -ms-grid-row-span: 1;
    grid-row-start: 2;
    -ms-grid-row-align: center;
    grid-row-end: 3;
    align-self: center;
    justify-self: center;
    -ms-grid-column-align: center;
}

.d-grid .grid-item-3 {
	height: 200px;
    -ms-grid-row: 3;
    grid-row-start: 3;
	grid-column-start: 6;
    -ms-grid-column-span: 3;
    grid-column-end: 9;
    -ms-grid-row-span: 1;
    grid-row-end: 4;
    -ms-grid-row-align: start;
    align-self: start;
    -ms-grid-column-align: center;
}

@media (min-width: 992px) {
	.section-bg {
		margin-top: -100px;
	}

	.d-grid .grid-item-1 {
		height: auto;
		grid-column-end: 4;
	}
	.d-grid .grid-item-2 {
		height: 300px;
		grid-column-start: 4;
		-ms-grid-row: 2;
		grid-column-end: 7;
	}
	
	.d-grid .grid-item-3 {
		height: 200px;
		
	}
}

/* Image Hover */
.img-hover-block {
	z-index: 0;
}

.hover-reveal {
	position: fixed;
	width: 240px;
	height: 160px;
	top: 0;
	left: 0;
	pointer-events: none;
	opacity: 0;
	z-index: 1;
}

.hover-reveal__inner,
.hover-reveal__img {
	width: 100%;
	height: 100%;
	position: relative;
}

.hover-reveal__img {
	background-size: cover;
	background-position: 50% 50%;
}

.device-up-lg .section-blogs-lists > li {
	counter-increment: step-counter;
}

.device-up-lg .section-blogs-lists > li > a::before {
	content: "0" counter(step-counter)'.';
	position: absolute;
	left: -1.25rem;
	font-size: 1.25rem;
	font-weight: 700;
	font-family: var(--cnvs-primary-font);
	color: rgba(var(--cnvs-contrast-rgb), .2);
	line-height: 1;
}

.device-up-lg .section-blogs-lists > li > a {
	padding-left: 10px;
}

.device-up-lg .dark .section-blogs-lists > li > a:hover h3 {
	color: var(--bs-warning);
}

.device-down-lg .ls-n1,
.device-down-lg .ls-n2,
.device-down-lg .ls-n3,
.device-down-lg .ls-n4 {
	letter-spacing: 0 !important;
}

.section-features ul {
	list-style: none;
}
.section-features  ul li::before {
	content: "\2022";
	position: relative;
	display: inline-block;
	width: 1.125rem;
	font-weight: bold;
	color: var(--bs-warning);
	top: -1px;
}

.device-down-lg .cnvs-cursor {
	display: none;
}

/* ----------------------------------------------------------------
	ADDITIVE: journal article, archives and the work single

	The design ships a news LIST and nothing behind it, so the article,
	the category / tag archives and the project single are dressed here
	in the same vocabulary that list uses: Inter throughout, a warning
	accent, generous measure, no card chrome. Design tokens only, no
	new values. Everything above this line is the ported design.
-----------------------------------------------------------------*/

.personal-post .entry,
.personal-archive .entry,
.personal .single-canvas_portfolio .entry {
	box-shadow: none;
	background: transparent;
}

/* Titles keep the design's semi-bold, tight-tracked display face. */
.personal-post .entry-title h1,
.personal-post .entry-title h2,
.personal-archive .entry-title h2,
.personal-archive .entry-title h3 {
	font-family: var(--cnvs-primary-font);
	font-weight: 600;
	letter-spacing: -1px;
	text-transform: none;
}

.personal-post .entry-title h1 {
	font-size: 2.75rem;
	line-height: 1.15;
	margin-bottom: 1.5rem;
}

.personal-archive .entry-title h2 a,
.personal-archive .entry-title h3 a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 6px;
	text-decoration-color: rgba(var(--cnvs-contrast-rgb), .25);
}

.personal-archive .entry-title h2 a:hover,
.personal-archive .entry-title h3 a:hover {
	text-decoration-color: var(--bs-warning);
	color: var(--cnvs-contrast-1000);
}

/* Meta reads as a quiet caption, matching the list's "5 days Ago". */
.personal-post .entry-meta li,
.personal-archive .entry-meta li {
	font-family: var(--cnvs-primary-font);
	font-size: .8125rem;
	font-weight: 500;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--cnvs-contrast-500);
}

.personal-post .entry-meta li a,
.personal-archive .entry-meta li a {
	color: inherit;
}

.personal-post .entry-meta li a:hover,
.personal-archive .entry-meta li a:hover {
	color: var(--cnvs-contrast-1000);
}

/* Body copy: a comfortable measure and the design's own weight. */
.personal-post .entry-content p,
.personal-archive .entry-content p {
	font-size: 1.0625rem;
	line-height: 1.8;
	font-weight: 400;
}

.personal-post .entry-image img,
.personal-archive .entry-image img,
.personal .single-canvas_portfolio .entry-image img {
	border-radius: .5rem;
}

/* The read-more chip picks up the ticker's arrow language. */
.personal-archive .more-link {
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 5px;
	text-decoration-color: var(--bs-warning);
}

/* ---- Sidebar --------------------------------------------------
	single.html ships CORE block widgets (Recent Posts, Categories,
	Tag Cloud), which the theme's classic-widget CSS does not cover:
	an unstyled column beside a styled article reads as broken.
----------------------------------------------------------------*/

.personal-post .sidebar .widget-title,
.personal-post .sidebar .widget h4,
.personal-post .sidebar .wp-block-heading {
	font-family: var(--cnvs-primary-font);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: .5px;
	text-transform: uppercase;
	margin-bottom: 1rem;
}

.personal-post .sidebar .wp-block-latest-posts__list,
.personal-post .sidebar .wp-block-categories-list {
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}

.personal-post .sidebar .wp-block-latest-posts__list li,
.personal-post .sidebar .wp-block-categories-list li {
	padding: .625rem 0;
	border-bottom: 1px solid rgba(var(--cnvs-contrast-rgb), .12);
}

.personal-post .sidebar .wp-block-latest-posts__list li:last-child,
.personal-post .sidebar .wp-block-categories-list li:last-child {
	border-bottom: 0;
}

.personal-post .sidebar .wp-block-latest-posts__post-title {
	font-weight: 500;
	line-height: 1.4;
}

.personal-post .sidebar .wp-block-latest-posts__post-date {
	display: block;
	margin-top: .25rem;
	font-size: .75rem;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--cnvs-contrast-500);
}

.personal-post .sidebar a:hover {
	color: var(--cnvs-contrast-1000);
}

/* WordPress writes a per-tag INLINE font-size on every tag-cloud link,
   so normalising it needs !important. */
.personal-post .sidebar .tag-cloud-link {
	display: inline-block;
	margin: 0 .375rem .5rem 0;
	padding: .375rem .75rem;
	border: 1px solid rgba(var(--cnvs-contrast-rgb), .18);
	border-radius: 2rem;
	font-size: .8125rem !important;
	font-weight: 500;
	line-height: 1;
}

.personal-post .sidebar .tag-cloud-link:hover {
	border-color: var(--bs-warning);
	background-color: var(--bs-warning);
	color: var(--cnvs-contrast-0);
}

/* ---- Work single ---------------------------------------------- */

.personal .single-canvas_portfolio .entry-title h1 {
	font-family: var(--cnvs-primary-font);
	font-weight: 600;
	letter-spacing: -2px;
}

.personal .single-canvas_portfolio .badge {
	font-weight: 500;
	letter-spacing: .3px;
	border-radius: 2rem;
}

.personal .single-canvas_portfolio .portfolio-meta dt {
	font-size: .8125rem;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--cnvs-contrast-500);
}

/* ----------------------------------------------------------------
	ADDITIVE: legible current/hover state on the primary menu

	The ported design pins `--cnvs-primary-menu-hover-color` to #000.
	This header is transparent, `dark`, and never sticky, so it sits
	permanently over the dark hero: black there is invisible. The
	reference gets away with it only because every one of its nav links
	is a dead `#`, so no item is ever current and a headless pass never
	hovers one. With real destinations the current page is black on
	black on every view.

	Bound to the contrast token instead of a literal: identical black
	wherever the header sits on light content, legible where it does not.
-----------------------------------------------------------------*/

#header.dark:not(.not-dark) {
	--cnvs-primary-menu-hover-color: var(--cnvs-contrast-1000);
}
