/* =========================================================
   HEDOMI INNER PAGES
========================================================= */

:root {
	--inner-purple-dark: #35034A;
	--inner-purple: #512163;
	--inner-purple-light: #755386;

	--inner-gold: #E1B47B;
	--inner-coral: #FA5B28;

	--inner-bg: #FCFAFC;
	--inner-bg-soft: #F7F2F8;

	--inner-text: #291A2F;
	--inner-text-soft: #756A79;

	--inner-border: #E8DFEB;
	--inner-white: #FFFFFF;
}


.hedomi-inner {
	background: var(--inner-bg);
	color: var(--inner-text);
}

.hedomi-inner *,
.hedomi-inner *::before,
.hedomi-inner *::after {
	box-sizing: border-box;
}


.hedomi-inner .container {
	width: calc(100% - 48px);
	max-width: 1240px;

	margin-left: auto;
	margin-right: auto;
}


/* =========================================================
   REVEAL
========================================================= */

[data-reveal] {
	opacity: 0;
	transform: translateY(24px);

	transition:
		opacity .7s ease,
		transform .7s ease;
}

[data-reveal].is-visible {
	opacity: 1;
	transform: translateY(0);
}


/* =========================================================
   HERO
========================================================= */

.inner-hero {
	position: relative;
	overflow: hidden;

	padding: 110px 0 90px; 
}

.inner-hero::before {
	content: "";

	position: absolute;

	width: 430px;
	height: 430px;

	right: -180px;
	top: -210px;

	border: 1px solid rgba(81, 33, 99, .08);
	border-radius: 50%;
}

.inner-hero::after {
	content: "";

	position: absolute;

	width: 240px;
	height: 240px;

	left: -120px;
	bottom: -150px;

	border: 1px solid rgba(225, 180, 123, .18);
	border-radius: 50%;
}


.inner-hero__content {
	position: relative;
	z-index: 2;

	max-width: 1000px;

	margin: 0 auto;

	text-align: center;
}


.inner-eyebrow,
.inner-hero__category {
	display: inline-flex;
	align-items: center;
	gap: 10px;

	margin-bottom: 20px;

	color: var(--inner-purple);

	font-size: 12px;
	font-weight: 800;

	letter-spacing: .15em;
	text-transform: uppercase;

	text-decoration: none;
}

.inner-eyebrow::before,
.inner-hero__category::before {
	content: "";

	width: 28px;
	height: 1px;

	background: var(--inner-gold);
}


.inner-hero__title {
	max-width: 1000px;

	margin: 0 auto;

	color: var(--inner-purple-dark);

	font-size: clamp(52px, 7vw, 92px);
	font-weight: 500;

	line-height: .98;
	letter-spacing: -.035em;
}


.inner-hero__description {
	max-width: 720px;

	margin: 27px auto 0;

	color: var(--inner-text-soft);

	font-size: 18px;
	line-height: 1.75;
}

.inner-hero__description p:last-child {
	margin-bottom: 0;
}


.inner-hero__meta {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;

	gap: 12px;

	margin-top: 30px;

	color: var(--inner-text-soft);

	font-size: 13px;
}

.inner-hero__meta span[aria-hidden] {
	color: var(--inner-gold);
}


.inner-hero--compact {
	padding: 65px 0 55px;
}

.inner-hero--compact .inner-hero__title {
	font-size: clamp(42px, 5vw, 65px);
}


/* =========================================================
   READING PROGRESS
========================================================= */

.reading-progress {
	position: fixed;

	z-index: 9999;

	left: 0;
	right: 0;
	top: 88px;

	height: 3px;

	pointer-events: none;
}

.reading-progress__bar {
	width: 100%;
	height: 100%;

	background: linear-gradient(
		90deg,
		var(--inner-gold),
		var(--inner-coral)
	);

	transform: scaleX(0);
	transform-origin: left center;
}

.admin-bar .reading-progress {
	top: 120px;
}


/* =========================================================
   FEATURED IMAGES
========================================================= */

.single-featured,
.page-featured {
	padding: 0 0 70px;

	background: var(--inner-bg);
}

.single-featured__image,
.page-featured__image {
	position: relative;
	overflow: hidden;

	margin: -20px 0 0;

	border-radius: 28px;

	box-shadow:
		0 30px 80px rgba(53, 3, 74, .12);
}

.single-featured__image img,
.page-featured__image img {
	display: block;

	width: 100%;
	max-height: 680px;

	object-fit: cover;
}


/* =========================================================
   SINGLE ARTICLE
========================================================= */

.single-content {
	padding: 45px 0 100px;
}

.single-content__layout {
	display: grid;

	grid-template-columns: 150px minmax(0, 790px);

	justify-content: center;

	gap: 70px;
}


/* =========================================================
   SIDEBAR
========================================================= */

.single-sidebar {
	align-self: start;

	position: sticky;
	top: 140px;
}

.single-sidebar__label {
	display: block;

	margin-bottom: 15px;

	color: var(--inner-gold);

	font-size: 11px;
	font-weight: 800;

	letter-spacing: .13em;
	text-transform: uppercase;
}

.single-sidebar__line {
	width: 40px;
	height: 1px;

	margin-bottom: 25px;

	background: var(--inner-border);
}

.single-copy-link {
	display: flex;
	align-items: center;
	gap: 8px;

	padding: 0;

	color: var(--inner-text-soft);
	background: transparent;

	border: 0;

	font-size: 12px;
	font-weight: 600;
}

.single-copy-link svg {
	width: 18px;
	height: 18px;
}

.single-copy-link:hover {
	color: var(--inner-purple);
}


/* =========================================================
   POST CONTENT
========================================================= */

.post-content,
.page-entry-content {
	color: #3E3342;

	font-size: 18px;
	line-height: 1.9;
}

.post-content > *:first-child,
.page-entry-content > *:first-child {
	margin-top: 0;
}

.post-content p,
.page-entry-content p {
	margin-top: 0;
	margin-bottom: 28px;
}


.post-content h2,
.page-entry-content h2 {
	margin: 60px 0 22px;

	color: var(--inner-purple-dark);

	font-size: clamp(36px, 4vw, 50px);
	font-weight: 500;

	line-height: 1.08;
}

.post-content h3,
.page-entry-content h3 {
	margin: 45px 0 18px;

	color: var(--inner-purple-dark);

	font-size: 31px;
	font-weight: 500;

	line-height: 1.15;
}

.post-content h4,
.page-entry-content h4 {
	margin: 35px 0 15px;

	color: var(--inner-purple);

	font-size: 24px;
}


.post-content a,
.page-entry-content a {
	color: var(--inner-purple);

	text-decoration: underline;
	text-decoration-color: rgba(81, 33, 99, .25);
	text-underline-offset: 4px;
}

.post-content a:hover,
.page-entry-content a:hover {
	color: var(--inner-coral);
}


.post-content img,
.page-entry-content img {
	max-width: 100%;
	height: auto;

	border-radius: 16px;
}


.post-content figure,
.page-entry-content figure {
	margin: 40px 0;
}


.post-content figcaption,
.page-entry-content figcaption {
	margin-top: 10px;

	color: var(--inner-text-soft);

	font-size: 13px;
	text-align: center;
}


.post-content blockquote,
.page-entry-content blockquote {
	position: relative;

	margin: 50px 0;
	padding: 35px 40px 35px 48px;

	color: var(--inner-purple-dark);
	background: var(--inner-bg-soft);

	border-left: 3px solid var(--inner-gold);
	border-radius: 0 18px 18px 0;

	font-size: 23px;
	line-height: 1.6;
}


.post-content ul,
.post-content ol,
.page-entry-content ul,
.page-entry-content ol {
	margin: 25px 0 30px;
	padding-left: 25px;
}

.post-content li,
.page-entry-content li {
	margin-bottom: 10px;
}


.post-content hr,
.page-entry-content hr {
	margin: 55px 0;

	border: 0;
	border-top: 1px solid var(--inner-border);
}


.post-content table,
.page-entry-content table {
	width: 100%;

	margin: 35px 0;

	border-collapse: collapse;
}

.post-content th,
.post-content td,
.page-entry-content th,
.page-entry-content td {
	padding: 14px 16px;

	border: 1px solid var(--inner-border);
}

.post-content th,
.page-entry-content th {
	color: var(--inner-purple-dark);
	background: var(--inner-bg-soft);
}


/* =========================================================
   WORDPRESS ALIGNMENTS
========================================================= */

.post-content .alignwide,
.page-entry-content .alignwide {
	width: min(1100px, 100vw - 48px);

	max-width: none;

	margin-left: 50%;
	transform: translateX(-50%);
}

.post-content .alignfull,
.page-entry-content .alignfull {
	width: 100vw;
	max-width: none;

	margin-left: 50%;
	transform: translateX(-50%);
}


/* =========================================================
   TAGS
========================================================= */

.single-tags {
	margin-top: 65px;
	padding-top: 32px;

	border-top: 1px solid var(--inner-border);
}

.single-tags__title {
	display: block;

	margin-bottom: 15px;

	color: var(--inner-purple-dark);

	font-size: 13px;
	font-weight: 700;
}

.single-tags__list {
	display: flex;
	flex-wrap: wrap;

	gap: 8px;
}

.single-tags__list a {
	padding: 8px 14px;

	color: var(--inner-purple);
	background: var(--inner-bg-soft);

	border: 1px solid var(--inner-border);
	border-radius: 999px;

	font-size: 12px;
	font-weight: 600;

	text-decoration: none;
}

.single-tags__list a:hover {
	color: #FFFFFF;
	background: var(--inner-purple);

	border-color: var(--inner-purple);
}


/* =========================================================
   PREVIOUS / NEXT
========================================================= */

.single-navigation {
	padding: 0 0 100px;
}

.single-navigation__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);

	border-top: 1px solid var(--inner-border);
	border-bottom: 1px solid var(--inner-border);
}

.single-navigation__item {
	padding: 38px 35px;
}

.single-navigation__item + .single-navigation__item {
	border-left: 1px solid var(--inner-border);
}

.single-navigation__item span {
	display: block;

	margin-bottom: 10px;

	color: var(--inner-gold);

	font-size: 10px;
	font-weight: 800;

	text-transform: uppercase;
	letter-spacing: .13em;
}

.single-navigation__item a {
	color: var(--inner-purple-dark);

	font-size: 24px;
	font-weight: 500;

	text-decoration: none;
}

.single-navigation__item a:hover {
	color: var(--inner-purple);
}

.single-navigation__item--next {
	text-align: right;
}


/* =========================================================
   RELATED
========================================================= */

.related-posts {
	padding: 100px 0;

	background: var(--inner-bg-soft);
}


/* =========================================================
   ARCHIVE HERO
========================================================= */

.inner-hero--archive {
	padding-bottom: 80px;
}

.archive-count {
	margin-top: 28px;

	color: var(--inner-gold);

	font-size: 12px;
	font-weight: 700;

	text-transform: uppercase;
	letter-spacing: .12em;
}


/* =========================================================
   ARCHIVE CONTENT
========================================================= */

.archive-content {
	padding: 100px 0;
}

.archive-grid {
	display: grid;

	grid-template-columns: repeat(3, minmax(0, 1fr));

	gap: 30px;
}


/* =========================================================
   ARCHIVE CARD
========================================================= */

.archive-card {
	overflow: hidden;

	background: #FFFFFF;

	border: 1px solid var(--inner-border);
	border-radius: 22px;

	transition:
		transform .35s ease,
		box-shadow .35s ease,
		border-color .35s ease;
}

.archive-card:hover {
	transform: translateY(-7px);

	border-color: rgba(81, 33, 99, .18);

	box-shadow:
		0 25px 65px rgba(53, 3, 74, .10);
}


.archive-card__image {
	display: block;

	overflow: hidden;

	aspect-ratio: 1.35 / 1;

	background: var(--inner-purple-dark);
}

.archive-card__image img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;

	transition: transform .6s ease;
}

.archive-card:hover .archive-card__image img {
	transform: scale(1.05);
}


.archive-card__image--empty {
	display: flex;
	align-items: center;
	justify-content: center;

	background:
		radial-gradient(
			circle at center,
			#6C397B,
			var(--inner-purple-dark)
		);
}

.archive-card__image--empty span {
	color: var(--inner-gold);

	font-size: 45px;
}


.archive-card__content {
	padding: 27px;
}


.archive-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 15px;

	margin-bottom: 16px;

	color: var(--inner-text-soft);

	font-size: 11px;
	font-weight: 600;

	text-transform: uppercase;
	letter-spacing: .08em;
}

.archive-card__meta a {
	color: var(--inner-purple);

	text-decoration: none;
}


.archive-card__title,
.archive-card h3 {
	margin: 0 0 15px;

	color: var(--inner-purple-dark);

	font-size: 29px;
	font-weight: 500;

	line-height: 1.14;
}

.archive-card__title a,
.archive-card h3 a {
	color: inherit;
	text-decoration: none;
}


.archive-card__excerpt,
.archive-card__content p {
	margin-bottom: 22px;

	color: var(--inner-text-soft);

	font-size: 14px;
	line-height: 1.7;
}


.archive-card__link {
	display: inline-flex;
	align-items: center;

	gap: 8px;

	color: var(--inner-purple);

	font-size: 13px;
	font-weight: 700;

	text-decoration: none;
}

.archive-card__link span {
	transition: transform .25s ease;
}

.archive-card__link:hover span {
	transform: translateX(5px);
}


/* =========================================================
   SECTION HEADINGS
========================================================= */

.inner-section-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;

	margin-bottom: 50px;
}

.inner-section-heading h2 {
	margin: 0;

	color: var(--inner-purple-dark);

	font-size: clamp(42px, 5vw, 62px);
	font-weight: 500;
}


/* =========================================================
   PAGINATION
========================================================= */

.hedomi-pagination {
	margin-top: 70px;
}

.hedomi-pagination .nav-links {
	display: flex;
	align-items: center;
	justify-content: center;

	gap: 8px;
}

.hedomi-pagination .page-numbers {
	min-width: 44px;
	height: 44px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: 0 12px;

	color: var(--inner-purple-dark);
	background: #FFFFFF;

	border: 1px solid var(--inner-border);
	border-radius: 50%;

	font-size: 13px;
	font-weight: 700;

	text-decoration: none;
}

.hedomi-pagination .page-numbers.current {
	color: #FFFFFF;
	background: var(--inner-purple);

	border-color: var(--inner-purple);
}

.hedomi-pagination a.page-numbers:hover {
	color: var(--inner-purple);
	border-color: var(--inner-purple);
}


/* =========================================================
   EMPTY ARCHIVE
========================================================= */

.archive-empty {
	max-width: 680px;

	margin: 0 auto;

	text-align: center;
}

.archive-empty h2 {
	margin: 0 0 20px;

	color: var(--inner-purple-dark);

	font-size: 52px;
	font-weight: 500;
}

.archive-empty p {
	color: var(--inner-text-soft);
}


/* =========================================================
   PAGE
========================================================= */

.page-content {
	padding: 80px 0 110px;
}

.page-article {
	max-width: 900px;

	margin: 0 auto;
}


/* Commerce pages need more horizontal space. */

.standard-page--commerce .page-article {
	max-width: 1240px;
}

.standard-page--commerce .page-content {
	padding-top: 65px;
}


/* =========================================================
   BASIC WOOCOMMERCE ON PAGES
========================================================= */

.standard-page--commerce .woocommerce {
	color: var(--inner-text);
}

.standard-page--commerce .woocommerce form,
.standard-page--commerce .woocommerce table,
.standard-page--commerce .woocommerce .woocommerce-MyAccount-content {
	border-color: var(--inner-border);
}

.standard-page--commerce .woocommerce input.input-text,
.standard-page--commerce .woocommerce textarea,
.standard-page--commerce .woocommerce select {
	padding: 13px 15px;

	background: #FFFFFF;

	border: 1px solid var(--inner-border);
	border-radius: 9px;
}

.standard-page--commerce .woocommerce input.input-text:focus,
.standard-page--commerce .woocommerce textarea:focus,
.standard-page--commerce .woocommerce select:focus {
	border-color: var(--inner-purple);

	outline: none;

	box-shadow:
		0 0 0 3px rgba(81, 33, 99, .07);
}

.standard-page--commerce .woocommerce button.button,
.standard-page--commerce .woocommerce a.button,
.standard-page--commerce .woocommerce input.button {
	padding: 14px 22px;

	color: #FFFFFF;
	background: var(--inner-purple);

	border-radius: 999px;

	font-weight: 700;
}

.standard-page--commerce .woocommerce button.button:hover,
.standard-page--commerce .woocommerce a.button:hover,
.standard-page--commerce .woocommerce input.button:hover {
	color: #FFFFFF;
	background: var(--inner-purple-dark);
}


/* =========================================================
   BACK TO TOP
========================================================= */

.hedomi-back-to-top {
	position: fixed;

	z-index: 800;

	right: 24px;
	bottom: 24px;

	width: 48px;
	height: 48px;

	display: flex;
	align-items: center;
	justify-content: center;

	opacity: 0;
	visibility: hidden;

	color: #FFFFFF;
	background: var(--inner-purple);

	border: 0;
	border-radius: 50%;

	box-shadow:
		0 10px 35px rgba(53, 3, 74, .2);

	transform: translateY(10px);

	transition:
		opacity .25s ease,
		visibility .25s ease,
		transform .25s ease,
		background .25s ease;
}

.hedomi-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;

	transform: translateY(0);
}

.hedomi-back-to-top:hover {
	background: var(--inner-coral);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1050px) {

	.archive-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.single-content__layout {
		grid-template-columns: 110px minmax(0, 720px);

		gap: 40px;
	}

}


@media (max-width: 800px) {

	.inner-hero {
		padding: 80px 0 70px;
	}

	.inner-hero--compact {
		padding: 50px 0 45px;
	}

	.single-content {
		padding-top: 20px;
	}

	.single-content__layout {
		display: block;
	}

	.single-sidebar {
		position: static;

		display: flex;
		align-items: center;

		gap: 15px;

		margin-bottom: 35px;
		padding-bottom: 20px;

		border-bottom: 1px solid var(--inner-border);
	}

	.single-sidebar__label,
	.single-sidebar__line {
		display: none;
	}

	.single-navigation__grid {
		grid-template-columns: 1fr;
	}

	.single-navigation__item + .single-navigation__item {
		border-left: 0;
		border-top: 1px solid var(--inner-border);
	}

	.single-navigation__item--next {
		text-align: left;
	}

}


@media (max-width: 650px) {

	.hedomi-inner .container {
		width: calc(100% - 32px);
	}

	.inner-hero__title {
		font-size: 48px;
	}

	.inner-hero__description {
		font-size: 16px;
	}

	.archive-content,
	.related-posts {
		padding: 70px 0;
	}

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

	.single-featured,
	.page-featured {
		padding-bottom: 45px;
	}

	.single-featured__image,
	.page-featured__image {
		border-radius: 18px;
	}

	.single-content {
		padding-bottom: 70px;
	}

	.post-content,
	.page-entry-content {
		font-size: 17px;
		line-height: 1.8;
	}

	.post-content h2,
	.page-entry-content h2 {
		margin-top: 45px;

		font-size: 36px;
	}

	.post-content blockquote,
	.page-entry-content blockquote {
		padding: 28px;

		font-size: 20px;
	}

	.page-content {
		padding: 55px 0 80px;
	}

	.page-article {
		max-width: none;
	}

	.reading-progress {
		top: 76px;
	}

	.admin-bar .reading-progress {
		top: 122px;
	}

}


/* =========================================================
   PORTFOLIO PAGE
========================================================= */

.portfolio-page {
	background: #FCFAFC;
	color: #291A2F;
}


/* =========================================================
   HERO
========================================================= */

.portfolio-hero {
	position: relative;
	overflow: hidden;

	padding: 110px 0 0px;

	 
}


.portfolio-hero::after {
	content: "";

	position: absolute;

	width: 420px;
	height: 420px;

	right: -160px;
	top: -210px;

	border: 1px solid rgba(81, 33, 99, .08);
	border-radius: 50%;
}


.portfolio-hero__content {
	position: relative;
	z-index: 2;

	max-width: 900px;
}


.portfolio-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 11px;

	margin-bottom: 20px;

	color: #512163;

	font-size: 11px;
	font-weight: 800;

	text-transform: uppercase;
	letter-spacing: .15em;
}


.portfolio-eyebrow::before {
	content: "";

	width: 30px;
	height: 1px;

	background: #E1B47B;
}


.portfolio-hero h1 {
	max-width: 850px;

	margin: 0;

	color: #35034A;

	font-size: clamp(58px, 7vw, 95px);
	font-weight: 500;

	line-height: .95;
	letter-spacing: -.045em;
}


.portfolio-hero h1 span {
	color: #512163;
}


.portfolio-hero p {
	max-width: 680px;

	margin: 30px 0 0;

	color: #756A79;

	font-size: 18px;
	line-height: 1.75;
}


/* =========================================================
   ORIGINAL PAGE CONTENT
========================================================= */

.portfolio-page-content {
	padding: 70px 0 0;
}


.portfolio-page-content__inner {
	max-width: 850px;

	color: #756A79;

	font-size: 17px;
	line-height: 1.8;
}


/* =========================================================
   PORTFOLIO
========================================================= */

.portfolio-section {
	padding: 100px 0 120px;
}


.portfolio-grid {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 60px 38px;
}


/* =========================================================
   CARD
========================================================= */

.portfolio-card {
	min-width: 0;
}


/* Image */

.portfolio-card__image {
	position: relative;

	display: block;
	overflow: hidden;

	aspect-ratio: 1.3 / 1;

	background: #F7F2F8;

	border-radius: 24px;

	text-decoration: none;
}


.portfolio-card__image img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;

	transition:
		transform .65s ease,
		filter .65s ease;
}


.portfolio-card:hover
.portfolio-card__image img {
	transform: scale(1.045);
}


/* Placeholder */

.portfolio-card__placeholder {
	width: 100%;
	height: 100%;

	display: flex;
	align-items: center;
	justify-content: center;

	color: #E1B47B;

	background:
		radial-gradient(
			circle at center,
			#633275,
			#35034A
		);

	font-size: 50px;
}


/* Hover button */

.portfolio-card__view {
	position: absolute;

	right: 22px;
	bottom: 22px;

	display: inline-flex;
	align-items: center;

	gap: 8px;

	padding: 12px 17px;

	opacity: 0;

	color: #35034A;
	background: #FFFFFF;

	border-radius: 999px;

	font-size: 11px;
	font-weight: 700;

	transform: translateY(10px);

	transition:
		opacity .3s ease,
		transform .3s ease;
}


.portfolio-card:hover
.portfolio-card__view {
	opacity: 1;

	transform: translateY(0);
}


/* =========================================================
   CARD CONTENT
========================================================= */

.portfolio-card__content {
	padding: 25px 5px 0;
}


.portfolio-card__categories {
	display: flex;
	flex-wrap: wrap;

	gap: 8px;

	margin-bottom: 13px;
}


.portfolio-card__categories span {
	color: #E1A85E;

	font-size: 10px;
	font-weight: 800;

	text-transform: uppercase;
	letter-spacing: .11em;
}


.portfolio-card__title {
	margin: 0 0 13px;

	font-size: clamp(28px, 3vw, 40px);
	font-weight: 500;

	line-height: 1.08;
}


.portfolio-card__title a {
	color: #35034A;

	text-decoration: none;
}


.portfolio-card__title a:hover {
	color: #512163;
}


.portfolio-card__content p {
	max-width: 550px;

	margin: 0 0 18px;

	color: #756A79;

	font-size: 14px;
	line-height: 1.7;
}


.portfolio-card__link {
	display: inline-flex;
	align-items: center;
	gap: 9px;

	color: #512163;

	font-size: 12px;
	font-weight: 700;

	text-decoration: none;
}


.portfolio-card__link span {
	transition: transform .25s ease;
}


.portfolio-card__link:hover span {
	transform: translateX(5px);
}


/* =========================================================
   PAGINATION
========================================================= */

.portfolio-pagination {
	display: flex;
	justify-content: center;

	gap: 7px;

	margin-top: 80px;
}


.portfolio-pagination .page-numbers {
	width: 44px;
	height: 44px;

	display: flex;
	align-items: center;
	justify-content: center;

	color: #35034A;
	background: #FFFFFF;

	border: 1px solid #E8DFEB;
	border-radius: 50%;

	font-size: 12px;
	font-weight: 700;

	text-decoration: none;
}


.portfolio-pagination .current {
	color: #FFFFFF;
	background: #512163;

	border-color: #512163;
}


/* =========================================================
   EMPTY
========================================================= */

.portfolio-empty {
	padding: 80px 20px;

	text-align: center;
}


.portfolio-empty > span {
	color: #E1B47B;

	font-size: 35px;
}


.portfolio-empty h2 {
	margin: 20px 0 10px;

	color: #35034A;

	font-size: 50px;
	font-weight: 500;
}


.portfolio-empty p {
	color: #756A79;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 800px) {

	.portfolio-grid {
		grid-template-columns: 1fr;

		gap: 55px;
	}

}


@media (max-width: 600px) {

	.portfolio-hero {
		padding: 75px 0 65px;
	}

	.portfolio-hero h1 {
		font-size: 52px;
	}

	.portfolio-section {
		padding: 70px 0 90px;
	}

	.portfolio-card__image {
		border-radius: 18px;
	}

}



/****** /

/* =========================================================
   HEDOMI SHOP — MOBILE FIX
========================================================= */

@media (max-width: 767px) {

	/* -----------------------------------------------------
	   GLOBAL
	----------------------------------------------------- */

	body.woocommerce-shop,
	body.tax-product_cat,
	body.tax-product_tag {
		overflow-x: hidden;
	}

	.hedomi-woocommerce {
		width: 100%;
		overflow-x: hidden;
	}

	.hedomi-woocommerce .container {
		width: calc(100% - 32px) !important;
		max-width: none !important;

		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}


	/* -----------------------------------------------------
	   HERO
	----------------------------------------------------- */

	.woo-shop-hero {
		padding: 55px 0 48px;
	}

	.woo-shop-hero__content {
		width: 100%;
		max-width: none;

		text-align: left;
	}

	.woo-shop-hero .woo-eyebrow {
		margin-bottom: 15px;
	}

	.woo-shop-hero h1 {
		margin: 0;

		font-size: 46px !important;
		line-height: .98;

		letter-spacing: -.035em;
	}

	.woo-shop-hero__description {
		max-width: none;

		margin: 20px 0 0;

		font-size: 15px;
		line-height: 1.65;
	}


	/* -----------------------------------------------------
	   CATEGORY SCROLLER
	----------------------------------------------------- */

	.woo-category-navigation {
		width: 100%;

		overflow: hidden;
	}

	.woo-category-navigation__inner {
		display: flex;

		width: 100%;

		gap: 8px;

		padding: 16px 0;

		overflow-x: auto;
		overflow-y: hidden;

		-webkit-overflow-scrolling: touch;

		scrollbar-width: none;
	}

	.woo-category-navigation__inner::-webkit-scrollbar {
		display: none;
	}

	.woo-category-chip {
		flex: 0 0 auto;

		white-space: nowrap;
	}


	/* -----------------------------------------------------
	   PRODUCT SECTION
	----------------------------------------------------- */

	.woo-products-section {
		width: 100%;

		padding: 50px 0 75px;
	}


	/* -----------------------------------------------------
	   TOOLBAR
	----------------------------------------------------- */

	.woo-products-toolbar {
		display: block;

		width: 100%;

		margin-bottom: 28px;
	}

	.woocommerce .woocommerce-result-count {
		float: none !important;

		width: 100%;

		margin: 0 0 13px !important;

		font-size: 12px;
	}

	.woocommerce .woocommerce-ordering {
		float: none !important;

		width: 100%;

		margin: 0 !important;
	}

	.woocommerce .woocommerce-ordering select {
		display: block;

		width: 100% !important;
		max-width: none !important;

		min-width: 0 !important;
		height: 48px;

		margin: 0;

		padding: 0 42px 0 15px;

		background-color: #FFFFFF;

		border: 1px solid #E8DFEB;
		border-radius: 12px;

		font-size: 13px;
	}


	/* -----------------------------------------------------
	   KILL OLD WOOCOMMERCE FLOATS
	----------------------------------------------------- */

	.woocommerce ul.products,
	.woocommerce-page ul.products {
		display: grid !important;

		grid-template-columns: minmax(0, 1fr) !important;

		width: 100% !important;

		gap: 22px !important;

		margin: 0 !important;
		padding: 0 !important;

		clear: both !important;
	}

	.woocommerce ul.products::before,
	.woocommerce ul.products::after {
		display: none !important;
	}


	/* Product */

	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product,
	.woocommerce ul.products[class*="columns-"] li.product,
	.woocommerce-page ul.products[class*="columns-"] li.product {
		float: none !important;

		clear: none !important;

		width: 100% !important;
		max-width: 100% !important;

		margin: 0 !important;
		padding: 0 0 24px !important;

		overflow: hidden;

		background: #FFFFFF;

		border: 1px solid #E8DFEB;
		border-radius: 18px;

		box-sizing: border-box;
	}


	/* -----------------------------------------------------
	   PRODUCT IMAGE
	----------------------------------------------------- */

	.woocommerce ul.products li.product a {
		max-width: 100%;
	}

	.woocommerce ul.products li.product a img {
		display: block;

		width: 100% !important;
		max-width: 100% !important;

		height: auto !important;

		aspect-ratio: 1.25 / 1;

		margin: 0 0 22px !important;

		object-fit: cover;

		border-radius: 0;
	}


	/* -----------------------------------------------------
	   PRODUCT TITLE
	----------------------------------------------------- */

	.woocommerce ul.products li.product
	.woocommerce-loop-product__title {
		padding: 0 20px !important;

		margin: 0 0 10px !important;

		font-size: 24px !important;
		line-height: 1.15 !important;

		overflow-wrap: anywhere;
		word-break: normal;
	}


	/* -----------------------------------------------------
	   RATING
	----------------------------------------------------- */

	.woocommerce ul.products li.product .star-rating {
		margin-left: 20px !important;
		margin-right: 20px !important;
	}


	/* -----------------------------------------------------
	   PRICE
	----------------------------------------------------- */

	.woocommerce ul.products li.product .price {
		display: block;

		padding: 0 20px !important;

		margin: 0 0 18px !important;

		font-size: 17px !important;
	}


	/* -----------------------------------------------------
	   BUTTON
	----------------------------------------------------- */

	.woocommerce ul.products li.product .button {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;

		width: calc(100% - 40px);

		min-height: 48px;

		margin: 0 20px !important;

		padding: 12px 18px !important;

		text-align: center;
	}


	.woocommerce ul.products li.product .added_to_cart {
		display: block;

		margin: 12px 20px 0;

		text-align: center;
	}


	/* -----------------------------------------------------
	   SALE BADGE
	----------------------------------------------------- */

	.woocommerce ul.products li.product .onsale,
	.woocommerce span.onsale {
		top: 13px !important;
		left: 13px !important;
		right: auto !important;

		margin: 0 !important;

		padding: 7px 11px !important;

		font-size: 9px !important;

		line-height: 1 !important;
	}


	/* -----------------------------------------------------
	   PAGINATION
	----------------------------------------------------- */

	.woo-pagination-wrap {
		width: 100%;

		margin-top: 45px;

		overflow: hidden;
	}

	.woocommerce nav.woocommerce-pagination {
		width: 100%;
	}

	.woocommerce nav.woocommerce-pagination ul {
		display: flex !important;
		justify-content: center;
		flex-wrap: wrap;

		gap: 6px;

		width: 100%;

		margin: 0 !important;
		padding: 0 !important;

		border: 0 !important;
	}


	/* -----------------------------------------------------
	   BREADCRUMB
	----------------------------------------------------- */

	.hedomi-woocommerce > .woocommerce-breadcrumb,
	.woocommerce .woocommerce-breadcrumb {
		width: calc(100% - 32px);

		margin: 16px auto 0;

		white-space: normal;

		font-size: 11px;
		line-height: 1.5;
	}

}

/* =========================================================
   MY ACCOUNT - MOBILE FIX
========================================================= */

@media (max-width: 767px) {

	/* Página inteira */
	body.woocommerce-account {
		overflow-x: hidden;
	}

	body.woocommerce-account .page-content {
		padding-top: 35px;
		padding-bottom: 80px;
	}

	body.woocommerce-account .page-article {
		width: 100% !important;
		max-width: 100% !important;
	}


	/* =====================================================
	   REMOVE WOO FLOAT LAYOUT
	===================================================== */

	.woocommerce-account .woocommerce {
		display: block !important;

		width: 100% !important;
		max-width: 100% !important;

		margin: 0 !important;
	}


	.woocommerce-account .woocommerce::before,
	.woocommerce-account .woocommerce::after {
		display: none !important;
	}


	/* =====================================================
	   NAVIGATION
	===================================================== */

	.woocommerce-account .woocommerce-MyAccount-navigation {
		float: none !important;

		width: 100% !important;
		max-width: 100% !important;

		margin: 0 0 28px !important;
		padding: 0 !important;
	}


	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex !important;
		align-items: center;

		width: 100%;

		gap: 7px;

		margin: 0 !important;
		padding: 8px !important;

		overflow-x: auto;
		overflow-y: hidden;

		background: #FFFFFF;

		border: 1px solid #E8DFEB;
		border-radius: 14px;

		list-style: none;

		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}


	.woocommerce-account
	.woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
		display: none;
	}


	.woocommerce-account
	.woocommerce-MyAccount-navigation li {
		flex: 0 0 auto;

		margin: 0 !important;
		padding: 0 !important;
	}


	.woocommerce-account
	.woocommerce-MyAccount-navigation li a {
		display: flex;
		align-items: center;
		justify-content: center;

		min-height: 42px;

		padding: 0 15px !important;

		white-space: nowrap;

		color: #756A79;
		background: transparent;

		border-radius: 9px;

		font-size: 12px;
		font-weight: 700;

		text-decoration: none;
	}


	.woocommerce-account
	.woocommerce-MyAccount-navigation li.is-active a {
		color: #512163;

		background: #F7F2F8;
	}


	/* =====================================================
	   ACCOUNT CONTENT
	===================================================== */

	.woocommerce-account .woocommerce-MyAccount-content {
		float: none !important;

		clear: both !important;

		width: 100% !important;
		max-width: 100% !important;

		margin: 0 !important;

		padding: 25px 20px !important;

		background: #FFFFFF;

		border: 1px solid #E8DFEB;
		border-radius: 18px;

		box-sizing: border-box;

		overflow: hidden;
	}


	.woocommerce-account
	.woocommerce-MyAccount-content p {
		max-width: 100%;

		margin-bottom: 18px;

		font-size: 15px;
		line-height: 1.7;

		overflow-wrap: break-word;
	}


	.woocommerce-account
	.woocommerce-MyAccount-content a {
		overflow-wrap: anywhere;
	}


	/* =====================================================
	   TABLES
	===================================================== */

	.woocommerce-account
	.woocommerce-MyAccount-content table {
		width: 100% !important;

		display: block;

		overflow-x: auto;

		-webkit-overflow-scrolling: touch;
	}


	/* =====================================================
	   FORMS
	===================================================== */

	.woocommerce-account
	.woocommerce-MyAccount-content input,
	.woocommerce-account
	.woocommerce-MyAccount-content select,
	.woocommerce-account
	.woocommerce-MyAccount-content textarea {
		max-width: 100% !important;
	}


	/* =====================================================
	   BUTTONS
	===================================================== */

	.woocommerce-account
	.woocommerce-MyAccount-content .button {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;

		max-width: 100%;

		white-space: normal;
		text-align: center;
	}

}

@media (max-width: 767px) {

	.woocommerce-account
	.woocommerce-MyAccount-navigation ul {
		display: flex !important;
		flex-wrap: wrap !important;

		gap: 6px;

		padding: 8px !important;

		overflow: visible !important;

		background: #FFFFFF;

		border: 1px solid #E8DFEB;
		border-radius: 14px;
	}

	.woocommerce-account
	.woocommerce-MyAccount-navigation li {
		flex: 0 0 auto !important;
	}

	.woocommerce-account
	.woocommerce-MyAccount-navigation li a {
		min-height: 40px;

		padding: 0 12px !important;

		font-size: 11px;
	}

}

/* =========================================================
   MY ACCOUNT — LOGIN / REGISTER
========================================================= */

.woocommerce-account:not(.logged-in) .page-content {
	padding-top: 60px;
	padding-bottom: 110px;
}

.woocommerce-account:not(.logged-in) .page-article {
	max-width: 1180px;
}


/* =========================================================
   TWO COLUMNS
========================================================= */

.woocommerce-account:not(.logged-in) .woocommerce .u-columns {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 42px;

	width: 100%;
}

.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
.woocommerce-account:not(.logged-in) .woocommerce .u-column2 {
	float: none !important;
	width: 100% !important;
}


/* =========================================================
   TITLES
========================================================= */

.woocommerce-account:not(.logged-in) .u-column1 > h2,
.woocommerce-account:not(.logged-in) .u-column2 > h2 {
	margin: 0 0 24px;

	color: #35034A;

	font-size: clamp(38px, 4vw, 54px);
	font-weight: 500;

	line-height: 1;
	letter-spacing: -0.03em;
}


/* =========================================================
   CARDS
========================================================= */

.woocommerce-account form.login,
.woocommerce-account form.register {
	height: calc(100% - 78px);

	margin: 0 !important;
	padding: 40px !important;

	background: #FFFFFF;

	border: 1px solid #E8DFEB !important;
	border-radius: 24px !important;

	box-shadow:
		0 16px 50px rgba(53, 3, 74, 0.045);
}


/* Register gets a subtle warm tone */

.woocommerce-account form.register {
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#FCF9FC 100%
		);
}


/* =========================================================
   FORM ROWS
========================================================= */

.woocommerce-account form.login .form-row,
.woocommerce-account form.register .form-row {
	margin: 0 0 20px !important;
	padding: 0 !important;
}


/* =========================================================
   LABELS
========================================================= */

.woocommerce-account form.login label,
.woocommerce-account form.register label {
	display: block;

	margin-bottom: 8px;

	color: #3A293F;

	font-size: 13px;
	font-weight: 700;

	line-height: 1.4;
}

.woocommerce-account form .required {
	color: #FA5B28;
}


/* =========================================================
   INPUTS
========================================================= */

.woocommerce-account form.login input.input-text,
.woocommerce-account form.register input.input-text {
	width: 100% !important;
	height: 54px;

	padding: 0 17px !important;

	color: #291A2F;
	background: #FCFAFC !important;

	border: 1px solid #E6DDE9 !important;
	border-radius: 12px !important;

	font-size: 15px;

	outline: none;

	box-shadow: none !important;

	transition:
		border-color .25s ease,
		box-shadow .25s ease,
		background .25s ease;
}

.woocommerce-account form.login input.input-text:focus,
.woocommerce-account form.register input.input-text:focus {
	background: #FFFFFF !important;

	border-color: #512163 !important;

	box-shadow:
		0 0 0 4px rgba(81, 33, 99, .07) !important;
}


/* =========================================================
   REMOVE BROWSER AUTOFILL YELLOW
========================================================= */

.woocommerce-account input:-webkit-autofill,
.woocommerce-account input:-webkit-autofill:hover,
.woocommerce-account input:-webkit-autofill:focus {
	-webkit-text-fill-color: #291A2F !important;

	-webkit-box-shadow:
		0 0 0 1000px #FCFAFC inset !important;

	box-shadow:
		0 0 0 1000px #FCFAFC inset !important;

	transition:
		background-color 9999s ease-in-out 0s;
}


/* =========================================================
   PASSWORD
========================================================= */

.woocommerce-account .password-input {
	display: block;
	position: relative;
}

.woocommerce-account .show-password-input {
	top: 50% !important;
	right: 16px !important;

	transform: translateY(-50%);

	color: #512163;
}


/* =========================================================
   REMEMBER ME
========================================================= */

.woocommerce-account form.login .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;

	gap: 8px;

	margin: 0 0 0 14px;
}

.woocommerce-account form.login input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;

	width: 17px !important;
	height: 17px !important;
	min-width: 17px;

	margin: 0 !important;
	padding: 0 !important;

	background: #FFFFFF;

	border: 1.5px solid #C8BCCB;
	border-radius: 4px;

	cursor: pointer;
}

.woocommerce-account form.login input[type="checkbox"]:checked {
	background:
		#512163
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M4 10l4 4 8-8'/%3E%3C/svg%3E")
		center / 13px no-repeat;

	border-color: #512163;
}


/* =========================================================
   BUTTONS
========================================================= */

.woocommerce-account form.login button.button,
.woocommerce-account form.register button.button {
	min-height: 52px;

	padding: 14px 28px !important;

	color: #FFFFFF !important;
	background: #512163 !important;

	border: 0 !important;
	border-radius: 999px !important;

	font-size: 14px !important;
	font-weight: 800 !important;

	transition:
		background .25s ease,
		transform .25s ease,
		box-shadow .25s ease;
}

.woocommerce-account form.login button.button:hover,
.woocommerce-account form.register button.button:hover {
	background: #35034A !important;

	transform: translateY(-2px);

	box-shadow:
		0 12px 28px rgba(53, 3, 74, .16);
}


/* Register button can use coral */

.woocommerce-account form.register button.button {
	background: #FA5B28 !important;
}

.woocommerce-account form.register button.button:hover {
	background: #E84C1B !important;
}


/* =========================================================
   LOST PASSWORD
========================================================= */

.woocommerce-account .lost_password {
	margin: 16px 0 0 !important;
}

.woocommerce-account .lost_password a {
	color: #512163;

	font-size: 13px;
	font-weight: 600;

	text-decoration: underline;
	text-decoration-color: rgba(81, 33, 99, .25);
	text-underline-offset: 4px;
}


/* =========================================================
   REGISTER TEXT
========================================================= */

.woocommerce-account form.register p {
	color: #756A79;

	font-size: 14px;
	line-height: 1.75;
}

.woocommerce-account form.register .woocommerce-privacy-policy-text {
	margin-top: 5px;

	color: #756A79;

	font-size: 12px;
	line-height: 1.7;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 800px) {

	.woocommerce-account:not(.logged-in) .woocommerce .u-columns {
		grid-template-columns: 1fr;

		gap: 50px;
	}

	.woocommerce-account form.login,
	.woocommerce-account form.register {
		height: auto;

		padding: 30px !important;
	}

}


@media (max-width: 500px) {

	.woocommerce-account:not(.logged-in) .page-content {
		padding-top: 35px;
	}

	.woocommerce-account:not(.logged-in) .u-column1 > h2,
	.woocommerce-account:not(.logged-in) .u-column2 > h2 {
		font-size: 40px;
	}

	.woocommerce-account form.login,
	.woocommerce-account form.register {
		padding: 24px 20px !important;

		border-radius: 18px !important;
	}

	.woocommerce-account form.login .woocommerce-form-login__rememberme {
		display: flex;

		margin: 15px 0 0;
	}

}


/* =========================================================
   MOBILE MENU - DEFINITIVE FIX
========================================================= */

@media (max-width: 900px) {

	/* FECHADO */
	.site-navigation {
		display: none !important;
	}


	/* ABERTO */
	.site-navigation.is-open {
		position: fixed !important;

		z-index: 99999;

		top: 76px;
		left: 0;
		right: 0;

		display: block !important;

		width: 100%;
		max-height: calc(100vh - 76px);

		padding: 20px 24px 35px;

		overflow-y: auto;
		overflow-x: hidden;

		background: #FFFFFF;

		border-top: 1px solid #E8DFEB;

		box-shadow:
			0 20px 50px rgba(53, 3, 74, .12);
	}


	/* MENU */
	.site-navigation.is-open .site-navigation__menu {
		display: block !important;

		width: 100%;

		margin: 0 !important;
		padding: 0 !important;

		list-style: none;
	}


	/* ITEMS */
	.site-navigation.is-open .site-navigation__menu > li {
		display: block !important;

		width: 100%;

		margin: 0 !important;
		padding: 0 !important;

		border-bottom: 1px solid #EEE7F0;
	}


	.site-navigation.is-open .site-navigation__menu > li > a {
		display: flex !important;

		width: 100%;

		padding: 17px 0 !important;

		color: #35034A;

		font-size: 15px;
		font-weight: 600;

		text-decoration: none;
	}


	/* =====================================================
	   SUBMENUS
	===================================================== */

	.site-navigation:not(.is-open) .sub-menu {
		display: none !important;
	}


	.site-navigation.is-open .sub-menu {
		position: static !important;

		display: block !important;

		width: 100% !important;
		min-width: 0 !important;

		margin: 0 !important;
		padding: 0 0 14px 18px !important;

		opacity: 1 !important;
		visibility: visible !important;

		transform: none !important;

		background: transparent !important;

		border: 0 !important;
		border-radius: 0 !important;

		box-shadow: none !important;
	}


	.site-navigation.is-open .sub-menu a {
		display: block !important;

		padding: 9px 0 !important;

		color: #756A79;

		font-size: 14px;

		background: transparent !important;
	}


	/* =====================================================
	   OPEN BUTTON
	===================================================== */

	.site-header__menu-toggle {
		display: inline-flex !important;

		position: relative;

		z-index: 100000;
	}

}


.woocommerce .col2-set::after, .woocommerce .col2-set::before, .woocommerce-page .col2-set::after, .woocommerce-page .col2-set::before {
  content: " ";
  display: none !important;
}

@media (max-width: 700px) {
  .hdm-cart-item {
    position: relative;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    width: 100%;
    padding: 22px 18px !important;
  }
}

.star-rating {
    margin-left:25px !Important;
}
[data-reveal] {
  opacity: 1 !important;
  transform: translateY(24px);
  transition: opacity .7s ease, transform .7s ease;
}


/* =========================================================
   HEDOMI — CONTACT FORM 7
========================================================= */

.wpcf7 {
	width: 100%;
	max-width: 100%;
}


/* =========================================================
   FORM
========================================================= */

.wpcf7 form {
	width: 100%;

	margin: 0;
	padding: 0;
}


/* =========================================================
   PARAGRAPHS / ROWS
========================================================= */

.wpcf7 form > p {
	margin: 0 0 22px;
}


/* =========================================================
   LABELS
========================================================= */

.wpcf7 label {
	display: block;

	width: 100%;

	margin: 0;

	color: #3A293F;

	font-size: 13px;
	font-weight: 700;

	line-height: 1.4;
}


/* =========================================================
   CF7 WRAPPER
========================================================= */

.wpcf7-form-control-wrap {
	display: block;

	width: 100%;

	margin-top: 8px;
}


/* =========================================================
   INPUTS / TEXTAREA / SELECT
========================================================= */

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 select,
.wpcf7 textarea {
	display: block;

	width: 100% !important;

	margin: 0 !important;

	padding: 0 17px !important;

	color: #291A2F;

	background: #FCFAFC !important;

	border: 1px solid #E6DDE9 !important;
	border-radius: 12px !important;

	font-family: "DM Sans", Arial, sans-serif;
	font-size: 15px;
	font-weight: 400;

	outline: none;

	box-shadow: none !important;

	transition:
		border-color .25s ease,
		background .25s ease,
		box-shadow .25s ease;
}


/* normal fields */

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 select {
	height: 54px;
}


/* textarea */

.wpcf7 textarea {
	min-height: 170px;

	padding-top: 15px !important;
	padding-bottom: 15px !important;

	line-height: 1.6;

	resize: vertical;
}


/* =========================================================
   PLACEHOLDER
========================================================= */

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
	color: #AAA0AD;

	opacity: 1;
}


/* =========================================================
   FOCUS
========================================================= */

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 input[type="number"]:focus,
.wpcf7 input[type="date"]:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
	background: #FFFFFF !important;

	border-color: #512163 !important;

	box-shadow:
		0 0 0 4px rgba(81, 33, 99, .07) !important;
}


/* =========================================================
   AUTOFILL
========================================================= */

.wpcf7 input:-webkit-autofill,
.wpcf7 input:-webkit-autofill:hover,
.wpcf7 input:-webkit-autofill:focus {
	-webkit-text-fill-color: #291A2F !important;

	-webkit-box-shadow:
		0 0 0 1000px #FCFAFC inset !important;

	box-shadow:
		0 0 0 1000px #FCFAFC inset !important;

	transition:
		background-color 9999s ease-in-out 0s;
}


/* =========================================================
   SUBMIT BUTTON
========================================================= */

.wpcf7 input[type="submit"],
.wpcf7 button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 54px;

	margin: 4px 0 0 !important;

	padding: 15px 30px !important;

	color: #FFFFFF !important;

	background: #FA5B28 !important;

	border: 0 !important;
	border-radius: 999px !important;

	font-family: "DM Sans", Arial, sans-serif;
	font-size: 13px !important;
	font-weight: 800 !important;

	line-height: 1;

	cursor: pointer;

	box-shadow: none !important;

	transition:
		background .25s ease,
		transform .25s ease,
		box-shadow .25s ease;
}


.wpcf7 input[type="submit"]:hover,
.wpcf7 button[type="submit"]:hover {
	color: #FFFFFF !important;

	background: #E84C1B !important;

	transform: translateY(-2px);

	box-shadow:
		0 12px 28px rgba(250, 91, 40, .18) !important;
}


.wpcf7 input[type="submit"]:active,
.wpcf7 button[type="submit"]:active {
	transform: translateY(0);
}


/* =========================================================
   DISABLED / SENDING
========================================================= */

.wpcf7 input[type="submit"]:disabled {
	opacity: .55;

	cursor: not-allowed;

	transform: none;
}


/* =========================================================
   CHECKBOX / ACCEPTANCE
========================================================= */

.wpcf7 .wpcf7-list-item {
	margin: 0;
}


.wpcf7 .wpcf7-list-item label {
	display: flex;
	align-items: flex-start;

	gap: 10px;

	color: #756A79;

	font-size: 12px;
	font-weight: 400;

	line-height: 1.6;

	cursor: pointer;
}


.wpcf7 input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;

	flex: 0 0 18px;

	width: 18px !important;
	height: 18px !important;

	min-width: 18px;

	margin: 1px 0 0 !important;
	padding: 0 !important;

	background: #FFFFFF;

	border: 1.5px solid #C8BCCB !important;
	border-radius: 5px !important;

	cursor: pointer;
}


.wpcf7 input[type="checkbox"]:checked {
	background:
		#512163
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M4 10l4 4 8-8'/%3E%3C/svg%3E")
		center / 13px no-repeat !important;

	border-color: #512163 !important;
}


/* =========================================================
   RADIO
========================================================= */

.wpcf7 input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;

	width: 18px !important;
	height: 18px !important;

	min-width: 18px;

	margin: 0 8px 0 0 !important;
	padding: 0 !important;

	background: #FFFFFF;

	border: 1.5px solid #B9AFBD !important;
	border-radius: 50%;

	cursor: pointer;
}


.wpcf7 input[type="radio"]:checked {
	border-color: #512163 !important;

	background:
		radial-gradient(
			circle,
			#512163 0,
			#512163 4px,
			#FFFFFF 5px,
			#FFFFFF 100%
		) !important;
}


/* =========================================================
   VALIDATION ERROR
========================================================= */

.wpcf7 .wpcf7-not-valid {
	border-color: #FA5B28 !important;

	box-shadow:
		0 0 0 3px rgba(250, 91, 40, .06) !important;
}


.wpcf7 .wpcf7-not-valid-tip {
	display: block;

	margin-top: 7px;

	color: #D94B22;

	font-size: 11px;
	font-weight: 600;

	line-height: 1.45;
}


/* =========================================================
   RESPONSE MESSAGE
========================================================= */

.wpcf7 form .wpcf7-response-output {
	margin: 25px 0 0 !important;

	padding: 15px 18px !important;

	color: #512163;

	background: #F7F2F8;

	border: 1px solid rgba(81, 33, 99, .16) !important;
	border-radius: 12px;

	font-size: 13px;
	font-weight: 600;

	line-height: 1.6;
}


/* error */

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	color: #B73D1D;

	background: #FFF6F2;

	border-color: rgba(250, 91, 40, .22) !important;
}


/* success */

.wpcf7 form.sent .wpcf7-response-output {
	color: #3E6A46;

	background: #F2FAF3;

	border-color: rgba(62, 106, 70, .20) !important;
}


/* =========================================================
   SPINNER
========================================================= */

.wpcf7 .wpcf7-spinner {
	width: 20px;
	height: 20px;

	margin: 0 0 0 12px;

	background-color: #512163;

	vertical-align: middle;
}


/* =========================================================
   LINKS
========================================================= */

.wpcf7 a {
	color: #512163;

	text-decoration-color: rgba(81, 33, 99, .25);
	text-underline-offset: 3px;
}


.wpcf7 a:hover {
	color: #FA5B28;
}


/* =========================================================
   OPTIONAL TWO COLUMN ROW
========================================================= */

.hdm-form-row {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 18px;
}


.hdm-form-field {
	min-width: 0;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

	.wpcf7 form > p {
		margin-bottom: 18px;
	}


	.wpcf7 input[type="text"],
	.wpcf7 input[type="email"],
	.wpcf7 input[type="tel"],
	.wpcf7 input[type="url"],
	.wpcf7 input[type="number"],
	.wpcf7 input[type="date"],
	.wpcf7 select {
		height: 52px;
	}


	.wpcf7 textarea {
		min-height: 150px;
	}


	.wpcf7 input[type="submit"],
	.wpcf7 button[type="submit"] {
		width: 100%;

		min-height: 52px;
	}


	.hdm-form-row {
		grid-template-columns: 1fr;

		gap: 0;
	}

}
/* =========================================================
   HOME TESTIMONIALS
========================================================= */

.home-testimonials {
	position: relative;

	padding: 120px 0;

	overflow: hidden;

	background: #FFFFFF;
}


.home-testimonials::before {
	content: "";

	position: absolute;

	width: 520px;
	height: 520px;

	top: -320px;
	right: -160px;

	border: 1px solid rgba(81, 33, 99, .06);
	border-radius: 50%;

	pointer-events: none;
}


/* =========================================================
   HEADER
========================================================= */

.home-testimonials__header {
	position: relative;
	z-index: 2;

	display: grid;

	grid-template-columns:
		minmax(0, 1.25fr)
		minmax(300px, .55fr);

	align-items: end;

	gap: 70px;

	margin-bottom: 70px;
}


.home-section-eyebrow {
	display: inline-flex;
	align-items: center;

	gap: 11px;

	margin-bottom: 17px;

	color: #512163;

	font-size: 10px;
	font-weight: 800;

	text-transform: uppercase;
	letter-spacing: .15em;
}


.home-section-eyebrow::before {
	content: "";

	width: 28px;
	height: 1px;

	background: #E1B47B;
}


.home-testimonials__header h2 {
	max-width: 780px;

	margin: 0;

	color: #35034A;

	font-family: "Cormorant Garamond", Georgia, serif;

	font-size: clamp(52px, 6vw, 78px);
	font-weight: 500;

	line-height: .96;
	letter-spacing: -.04em;
}


.home-testimonials__header h2 span {
	display: block;

	color: #512163;
}


.home-testimonials__header > p {
	max-width: 420px;

	margin: 0 0 5px;

	color: #756A79;

	font-size: 14px;
	line-height: 1.8;
}


/* =========================================================
   GRID
========================================================= */

.home-testimonials__grid {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	border-top: 1px solid #E8DFEB;
	border-left: 1px solid #E8DFEB;
}


/* =========================================================
   CARD
========================================================= */

.testimonial-card {
	position: relative;

	min-height: 300px;

	padding: 38px 42px 42px;

	background: #FFFFFF;

	border-right: 1px solid #E8DFEB;
	border-bottom: 1px solid #E8DFEB;

	transition:
		background .3s ease,
		transform .3s ease;
}


.testimonial-card:hover {
	background: #FCFAFC;
}


/* decorative quote */

.testimonial-card::after {
	content: "“";

	position: absolute;

	top: 22px;
	right: 34px;

	color: rgba(81, 33, 99, .06);

	font-family: Georgia, serif;
	font-size: 100px;

	line-height: 1;
}


/* =========================================================
   PERSON
========================================================= */

.testimonial-card__top {
	position: relative;
	z-index: 2;

	display: flex;
	align-items: center;

	gap: 14px;

	margin-bottom: 25px;
}


.testimonial-avatar {
	flex: 0 0 48px;

	width: 48px;
	height: 48px;

	display: flex;
	align-items: center;
	justify-content: center;

	color: #FFFFFF;
	background: #B17929;

	border-radius: 50%;

	font-size: 18px;
	font-weight: 700;
}


.testimonial-avatar--gold {
	background: #A78667;
}


.testimonial-avatar--blue {
	background: #2BA4B7;
}


.testimonial-avatar--purple {
	background: #A85BE8;
}


.testimonial-person {
	display: flex;
	flex-direction: column;

	gap: 4px;
}


.testimonial-person strong {
	color: #291A2F;

	font-size: 14px;
	font-weight: 800;
}


.testimonial-person span {
	color: #756A79;

	font-size: 12px;
}


/* =========================================================
   RATING
========================================================= */

.testimonial-rating {
	position: relative;
	z-index: 2;

	display: flex;
	align-items: center;

	gap: 8px;

	margin-bottom: 22px;
}


.testimonial-stars {
	color: #E1B47B;

	font-size: 13px;

	letter-spacing: 2px;
}


.testimonial-rating strong {
	color: #35034A;

	font-size: 11px;
}


.testimonial-date {
	position: relative;

	margin-left: 3px;
	padding-left: 11px;

	color: #978A9B;

	font-size: 11px;
}


.testimonial-date::before {
	content: "";

	position: absolute;

	left: 0;
	top: 50%;

	width: 3px;
	height: 3px;

	background: #CFC3D2;

	border-radius: 50%;

	transform: translateY(-50%);
}


/* =========================================================
   REVIEW
========================================================= */

.testimonial-card blockquote {
	position: relative;
	z-index: 2;

	max-width: 560px;

	margin: 0;
	padding: 0;

	color: #443649;

	border: 0;

	font-size: 16px;
	font-weight: 400;

	line-height: 1.75;
}


/* =========================================================
   FOOTER
========================================================= */

.home-testimonials__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 30px;

	padding-top: 30px;
}


.home-testimonials__score {
	display: flex;
	align-items: center;

	gap: 16px;
}


.home-testimonials__score > strong {
	color: #35034A;

	font-family: "Cormorant Garamond", Georgia, serif;

	font-size: 46px;
	font-weight: 600;

	line-height: 1;
}


.home-testimonials__score > div {
	display: flex;
	flex-direction: column;

	gap: 3px;
}


.home-testimonials__score span {
	color: #E1B47B;

	font-size: 13px;

	letter-spacing: 2px;
}


.home-testimonials__score small {
	color: #756A79;

	font-size: 10px;

	text-transform: uppercase;
	letter-spacing: .09em;
}


.home-testimonials__footer > p {
	max-width: 400px;

	margin: 0;

	color: #8E828F;

	font-size: 12px;
	line-height: 1.6;

	text-align: right;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

	.home-testimonials {
		padding: 90px 0;
	}


	.home-testimonials__header {
		grid-template-columns: 1fr;

		gap: 25px;

		margin-bottom: 50px;
	}


	.home-testimonials__header > p {
		max-width: 620px;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

	.home-testimonials {
		padding: 75px 0;
	}


	.home-testimonials__header {
		margin-bottom: 40px;
	}


	.home-testimonials__header h2 {
		font-size: 48px;
	}


	.home-testimonials__grid {
		grid-template-columns: 1fr;
	}


	.testimonial-card {
		min-height: 0;

		padding: 30px 24px 32px;
	}


	.testimonial-card blockquote {
		font-size: 15px;
	}


	.home-testimonials__footer {
		flex-direction: column;
		align-items: flex-start;
	}


	.home-testimonials__footer > p {
		text-align: left;
	}

}

/* =========================================================
   HEDOMI ABOUT
========================================================= */

.about-page {
	color: #291A2F;
	background: #FCFAFC;
	overflow: hidden;
}

.about-page *,
.about-page *::before,
.about-page *::after {
	box-sizing: border-box;
}

.about-page .container {
	width: calc(100% - 48px);
	max-width: 1240px;
	margin: 0 auto;
}


/* =========================================================
   COMMON
========================================================= */

.about-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 11px;

	margin-bottom: 18px;

	color: #512163;

	font-size: 10px;
	font-weight: 800;

	text-transform: uppercase;
	letter-spacing: .15em;
}

.about-eyebrow::before {
	content: "";

	width: 28px;
	height: 1px;

	background: #E1B47B;
}


/* =========================================================
   HERO
========================================================= */

.about-hero {
	position: relative;

	padding: 85px 0 110px;

	background:
		radial-gradient(
			circle at 88% 12%,
			rgba(225,180,123,.18),
			transparent 25%
		),
		#FCFAFC;
}

.about-hero__grid {
	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		minmax(380px, .72fr);

	align-items: center;

	gap: 90px;
}


/* CONTENT */

.about-hero__content {
	max-width: 700px;
}

.about-hero h1 {
	margin: 0 0 32px;

	color: #35034A;

	font-family: "Cormorant Garamond", Georgia, serif;

	font-size: clamp(62px, 7vw, 96px);
	font-weight: 500;

	line-height: .91;
	letter-spacing: -.05em;
}

.about-hero h1 span {
	display: block;

	color: #512163;
}

.about-hero__lead {
	max-width: 610px;

	margin: 0 0 18px;

	color: #3D3042;

	font-size: 19px;
	line-height: 1.7;
}

.about-hero__content > p:not(.about-hero__lead) {
	max-width: 620px;

	margin: 0;

	color: #756A79;

	font-size: 15px;
	line-height: 1.8;
}


/* =========================================================
   HERO ACTIONS
========================================================= */

.about-hero__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 25px;

	margin-top: 34px;
}

.about-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 10px;

	text-decoration: none;
}

.about-btn--primary {
	min-height: 52px;

	padding: 0 26px;

	color: #FFFFFF;
	background: #512163;

	border-radius: 999px;

	font-size: 12px;
	font-weight: 800;

	transition:
		background .25s ease,
		transform .25s ease,
		box-shadow .25s ease;
}

.about-btn--primary:hover {
	color: #FFFFFF;
	background: #35034A;

	transform: translateY(-2px);

	box-shadow:
		0 14px 30px rgba(53,3,74,.15);
}

.about-btn--primary span {
	transition: transform .25s ease;
}

.about-btn--primary:hover span {
	transform: translateX(4px);
}

.about-btn--text {
	color: #512163;

	font-size: 12px;
	font-weight: 800;

	border-bottom: 1px solid rgba(81,33,99,.25);
}

.about-btn--text:hover {
	color: #FA5B28;

	border-color: #FA5B28;
}


/* =========================================================
   HERO IMAGE
========================================================= */

.about-hero__visual {
	position: relative;
}

.about-hero__image {
	position: relative;

	width: 100%;
	max-width: 475px;

	margin-left: auto;

	overflow: hidden;

	background: #F1EAF3;

	border-radius:
		220px 220px 28px 28px;
}

.about-hero__image::before {
	content: "";

	position: absolute;
	inset: 18px;

	z-index: 2;

	border: 1px solid rgba(255,255,255,.38);
	border-radius:
		205px 205px 20px 20px;

	pointer-events: none;
}

.about-hero__image img {
	display: block;

	width: 100%;
	height: auto;

	aspect-ratio: .73 / 1;

	object-fit: cover;
	object-position: center top;
}


/* FLOATING CARD */

.about-hero__floating-card {
	position: absolute;

	left: -28px;
	bottom: 55px;

	z-index: 5;

	width: 205px;

	padding: 19px 22px;

	background: rgba(255,255,255,.94);

	border: 1px solid rgba(81,33,99,.10);
	border-radius: 16px;

	box-shadow:
		0 18px 50px rgba(53,3,74,.11);

	backdrop-filter: blur(10px);
}

.about-hero__floating-card span {
	display: block;

	margin-bottom: 2px;

	color: #A28F7A;

	font-size: 9px;
	font-weight: 800;

	text-transform: uppercase;
	letter-spacing: .13em;
}

.about-hero__floating-card strong {
	display: block;

	color: #35034A;

	font-family: "Cormorant Garamond", Georgia, serif;

	font-size: 28px;
	font-weight: 600;
}

.about-hero__floating-card small {
	display: block;

	margin-top: 2px;

	color: #756A79;

	font-size: 10px;
	line-height: 1.45;
}


/* =========================================================
   FACTS
========================================================= */

.about-facts {
	background: #FFFFFF;

	border-top: 1px solid #E8DFEB;
	border-bottom: 1px solid #E8DFEB;
}

.about-facts__grid {
	display: grid;

	grid-template-columns:
		repeat(4, minmax(0, 1fr));
}

.about-fact {
	display: flex;
	align-items: center;

	gap: 15px;

	min-height: 125px;

	padding: 25px 25px;

	border-right: 1px solid #E8DFEB;
}

.about-fact:first-child {
	border-left: 1px solid #E8DFEB;
}

.about-fact > span {
	color: #E1B47B;

	font-family: "Cormorant Garamond", Georgia, serif;

	font-size: 25px;
}

.about-fact div {
	display: flex;
	flex-direction: column;

	gap: 4px;
}

.about-fact strong {
	color: #35034A;

	font-size: 13px;
}

.about-fact small {
	color: #8D818F;

	font-size: 10px;
	line-height: 1.5;
}


/* =========================================================
   STORY
========================================================= */

.about-story {
	padding: 130px 0;
}

.about-story__grid {
	display: grid;

	grid-template-columns:
		minmax(300px, .72fr)
		minmax(0, 1fr);

	gap: 100px;
}

.about-story__heading {
	position: sticky;

	top: 130px;

	align-self: start;
}

.about-story__heading h2,
.about-section-heading h2,
.about-education h2,
.about-curiosity h2 {
	margin: 0;

	color: #35034A;

	font-family: "Cormorant Garamond", Georgia, serif;

	font-size: clamp(50px, 5vw, 70px);
	font-weight: 500;

	line-height: .98;
	letter-spacing: -.04em;
}

.about-story__heading h2 span,
.about-section-heading h2 span,
.about-education h2 span,
.about-curiosity h2 span {
	display: block;

	color: #512163;
}

.about-story__copy {
	max-width: 680px;
}

.about-story__copy p {
	margin: 0 0 25px;

	color: #756A79;

	font-size: 16px;
	line-height: 1.9;
}

.about-story__copy strong {
	color: #512163;
}

.about-story__copy .about-story__intro {
	color: #35034A;

	font-family: "Cormorant Garamond", Georgia, serif;

	font-size: 29px;
	font-weight: 500;

	line-height: 1.35;
}


/* =========================================================
   EXPERTISE
========================================================= */

.about-expertise {
	padding: 120px 0;

	background: #FFFFFF;
}

.about-section-heading {
	max-width: 800px;

	margin-bottom: 70px;
}

.about-expertise__grid {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	border-top: 1px solid #E8DFEB;
	border-left: 1px solid #E8DFEB;
}

.about-skill {
	min-height: 310px;

	padding: 42px;

	border-right: 1px solid #E8DFEB;
	border-bottom: 1px solid #E8DFEB;

	transition: background .3s ease;
}

.about-skill:hover {
	background: #FCFAFC;
}

.about-skill__number {
	display: block;

	margin-bottom: 42px;

	color: #E1B47B;

	font-family: "Cormorant Garamond", Georgia, serif;

	font-size: 25px;
}

.about-skill h3 {
	margin: 0 0 16px;

	color: #35034A;

	font-family: "Cormorant Garamond", Georgia, serif;

	font-size: 33px;
	font-weight: 600;

	line-height: 1.05;
}

.about-skill p {
	max-width: 480px;

	margin: 0;

	color: #756A79;

	font-size: 14px;
	line-height: 1.8;
}


/* =========================================================
   EDUCATION
========================================================= */

.about-education {
	padding: 125px 0;

	background: #F7F2F8;
}

.about-education__grid {
	display: grid;

	grid-template-columns:
		minmax(300px, .72fr)
		minmax(0, 1fr);

	gap: 100px;
}

.about-education__intro > p {
	max-width: 420px;

	margin: 26px 0 0;

	color: #756A79;

	font-size: 14px;
	line-height: 1.8;
}

.about-education__list {
	border-top: 1px solid rgba(81,33,99,.13);
}

.about-degree {
	display: grid;

	grid-template-columns: 100px 1fr;

	gap: 25px;

	padding: 28px 0;

	border-bottom: 1px solid rgba(81,33,99,.13);
}

.about-degree__year {
	padding-top: 5px;

	color: #D29A56;

	font-size: 9px;
	font-weight: 800;

	text-transform: uppercase;
	letter-spacing: .12em;
}

.about-degree h3 {
	margin: 0 0 5px;

	color: #35034A;

	font-family: "Cormorant Garamond", Georgia, serif;

	font-size: 29px;
	font-weight: 600;
}

.about-degree p {
	margin: 0;

	color: #756A79;

	font-size: 12px;
}


/* =========================================================
   PHILOSOPHY
========================================================= */

.about-philosophy {
	padding: 120px 0;

	background: #35034A;
}

.about-philosophy__inner {
	max-width: 950px;

	margin: 0 auto;

	text-align: center;
}

.about-philosophy__symbol {
	display: block;

	margin-bottom: 27px;

	color: #E1B47B;

	font-size: 28px;
}

.about-philosophy p {
	margin: 0;

	color: #FFFFFF;

	font-family: "Cormorant Garamond", Georgia, serif;

	font-size: clamp(38px, 5vw, 62px);
	font-weight: 500;

	line-height: 1.12;
	letter-spacing: -.025em;
}

.about-philosophy__signature {
	display: block;

	margin-top: 32px;

	color: rgba(255,255,255,.55);

	font-size: 10px;
	font-weight: 700;

	text-transform: uppercase;
	letter-spacing: .14em;
}


/* =========================================================
   CURIOSITY
========================================================= */

.about-curiosity {
	padding: 125px 0;
}

.about-curiosity__grid {
	display: grid;

	grid-template-columns:
		minmax(300px, .75fr)
		minmax(0, 1fr);

	gap: 100px;
}

.about-curiosity__copy {
	max-width: 650px;
}

.about-curiosity__copy p {
	margin: 0 0 24px;

	color: #756A79;

	font-size: 15px;
	line-height: 1.9;
}


/* =========================================================
   CTA
========================================================= */

.about-cta {
	padding: 95px 0;

	background: #FFFFFF;

	border-top: 1px solid #E8DFEB;
}

.about-cta__inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;

	gap: 60px;
}

.about-cta h2 {
	max-width: 760px;

	margin: 0;

	color: #35034A;

	font-family: "Cormorant Garamond", Georgia, serif;

	font-size: clamp(50px, 6vw, 76px);
	font-weight: 500;

	line-height: .96;
	letter-spacing: -.04em;
}

.about-cta h2 span {
	display: block;

	color: #512163;
}

.about-cta__button {
	flex: 0 0 auto;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 12px;

	min-height: 56px;

	padding: 0 29px;

	color: #FFFFFF;
	background: #FA5B28;

	border-radius: 999px;

	font-size: 12px;
	font-weight: 800;

	text-decoration: none;

	transition:
		background .25s ease,
		transform .25s ease,
		box-shadow .25s ease;
}

.about-cta__button:hover {
	color: #FFFFFF;
	background: #E84C1B;

	transform: translateY(-2px);

	box-shadow:
		0 14px 30px rgba(250,91,40,.18);
}

.about-cta__button span {
	transition: transform .25s ease;
}

.about-cta__button:hover span {
	transform: translateX(5px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 950px) {

	.about-hero__grid {
		grid-template-columns:
			minmax(0, 1fr)
			minmax(300px, .65fr);

		gap: 45px;
	}

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

	.about-fact:nth-child(3) {
		border-left: 1px solid #E8DFEB;
	}

	.about-story__grid,
	.about-education__grid,
	.about-curiosity__grid {
		gap: 55px;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 750px) {

	.about-page .container {
		width: calc(100% - 32px);
	}


	/* HERO */

	.about-hero {
		padding: 60px 0 75px;
	}

	.about-hero__grid {
		grid-template-columns: 1fr;

		gap: 55px;
	}

	.about-hero h1 {
		font-size: 58px;
	}

	.about-hero__lead {
		font-size: 17px;
	}

	.about-hero__image {
		max-width: 440px;

		margin: 0 auto;
	}

	.about-hero__floating-card {
		left: 5px;
		bottom: 30px;
	}


	/* FACTS */

	.about-facts__grid {
		grid-template-columns: 1fr;
	}

	.about-fact,
	.about-fact:first-child,
	.about-fact:nth-child(3) {
		border-left: 1px solid #E8DFEB;
	}

	.about-fact {
		min-height: 100px;
	}


	/* STORY */

	.about-story {
		padding: 85px 0;
	}

	.about-story__grid,
	.about-education__grid,
	.about-curiosity__grid {
		grid-template-columns: 1fr;

		gap: 45px;
	}

	.about-story__heading {
		position: static;
	}

	.about-story__heading h2,
	.about-section-heading h2,
	.about-education h2,
	.about-curiosity h2 {
		font-size: 48px;
	}


	/* EXPERTISE */

	.about-expertise {
		padding: 85px 0;
	}

	.about-section-heading {
		margin-bottom: 45px;
	}

	.about-expertise__grid {
		grid-template-columns: 1fr;
	}

	.about-skill {
		min-height: 0;

		padding: 32px 25px;
	}

	.about-skill__number {
		margin-bottom: 28px;
	}


	/* EDUCATION */

	.about-education {
		padding: 85px 0;
	}

	.about-degree {
		grid-template-columns: 75px 1fr;

		gap: 15px;
	}


	/* QUOTE */

	.about-philosophy {
		padding: 85px 0;
	}

	.about-philosophy p {
		font-size: 38px;
	}


	/* CURIOSITY */

	.about-curiosity {
		padding: 85px 0;
	}


	/* CTA */

	.about-cta {
		padding: 75px 0;
	}

	.about-cta__inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.about-cta h2 {
		font-size: 50px;
	}

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

	.about-hero h1 {
		font-size: 51px;
	}

	.about-hero__actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.about-hero__floating-card {
		width: 185px;

		padding: 16px 18px;
	}

	.about-story__heading h2,
	.about-section-heading h2,
	.about-education h2,
	.about-curiosity h2 {
		font-size: 43px;
	}

	.about-philosophy p {
		font-size: 34px;
	}

	.about-cta h2 {
		font-size: 44px;
	}
	
	.home-hero__content {
	    padding-left:15px;
	    padding-right:15px;
	}

}
 


 
