:root {

	color-scheme: light;
	--venkat_color_background: #f7f4ef;
	--venkat_color_surface: #fffaf3;
	--venkat_color_surface_soft: #eee7dc;
	--venkat_color_text: #121212;
	--venkat_color_text_soft: #5f5850;
	--venkat_color_border: #ded4c6;
	--venkat_color_accent: #a87350;
	--venkat_color_accent_dark: #6d422b;
	--venkat_shadow_soft: 0 18px 55px rgb(18 18 18 / 9%);
	--venkat_radius_large: 1.45rem;
	--venkat_radius_medium: 1rem;
	--venkat_width_container: 1180px;
	--venkat_space_outer: clamp(1rem, 3vw, 2rem);
	--venkat_font_base: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--venkat_font_display: "Cormorant Garamond", Georgia, "Times New Roman", serif;

}
* {

	box-sizing: border-box;

}
html {

	scroll-behavior: smooth;
	scroll-padding-top: 6rem;

}
body {

	margin: 0;
	background: var(--venkat_color_background);
	color: var(--venkat_color_text);
	font-family: var(--venkat_font_base);
	font-size: 1rem;
	line-height: 1.6;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;

}
body::before {

	position: fixed;
	inset: 0;
	z-index: -1;
	content: "";
	background: radial-gradient(circle at 14% 4%, rgb(168 115 80 / 12%), transparent 24rem), radial-gradient(circle at 90% 5%, rgb(18 18 18 / 5%), transparent 24rem);
	pointer-events: none;

}
a {

	color: inherit;
	text-decoration: none;

}
img {

	display: block;
	max-width: 100%;
	height: auto;

}
iframe {

	display: block;
	width: 100%;
	border: 0;

}
::selection {

	background: var(--venkat_color_accent);
	color: #ffffff;

}
.venkat_skip_link {

	position: fixed;
	top: 1rem;
	left: 1rem;
	z-index: 30;
	padding: .7rem 1rem;
	background: var(--venkat_color_text);
	color: #ffffff;
	border-radius: 999px;
	translate: 0 -160%;
	transition: translate 180ms ease;

}
.venkat_skip_link:focus {

	translate: 0 0;

}
.venkat_container {

	width: min(100% - var(--venkat_space_outer) * 2, var(--venkat_width_container));
	margin-inline: auto;

}
.venkat_site_header {

	position: sticky;
	top: 0;
	z-index: 20;
	background: rgb(247 244 239 / 82%);
	border-bottom: 1px solid transparent;
	backdrop-filter: blur(18px);
	translate: 0 0;
	transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease, translate 260ms ease;
	will-change: translate;

}
.venkat_site_header.venkat_is_scrolled {

	background: rgb(247 244 239 / 94%);
	border-color: rgb(222 212 198 / 80%);
	box-shadow: 0 10px 40px rgb(18 18 18 / 6%);

}
.venkat_site_header.venkat_is_hidden {

	translate: 0 -105%;

}
body.venkat_menu_is_open .venkat_site_header {

	translate: 0 0;

}
.venkat_header_inner {

	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	width: min(100% - var(--venkat_space_outer) * 2, var(--venkat_width_container));
	min-height: 5.2rem;
	margin-inline: auto;

}
.venkat_brand {

	display: inline-flex;
	align-items: center;
	width: clamp(9rem, 18vw, 14rem);
	transition: scale 180ms ease;

}
a.venkat_brand:hover {

	scale: 1.05;

}
.venkat_brand_logo {

	width: 100%;
	height: auto;

}
.venkat_main_nav {

	display: flex;
	align-items: center;
	gap: clamp(1rem, 3vw, 2rem);
	font-size: .88rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;

}
.venkat_main_nav a {

	position: relative;
	padding-block: .4rem;
	color: var(--venkat_color_text_soft);
	transition: color 180ms ease;

}
.venkat_main_nav a::after {

	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	content: "";
	background: var(--venkat_color_accent);
	scale: 0 1;
	transform-origin: right;
	transition: scale 180ms ease;

}
.venkat_main_nav a:hover,
.venkat_main_nav a:focus-visible {

	color: var(--venkat_color_text);

}
.venkat_main_nav a:hover::after,
.venkat_main_nav a:focus-visible::after {

	scale: 1 1;
	transform-origin: left;

}
.venkat_menu_button {

	display: none;
	position: relative;
	z-index: 50;
	width: 3.2rem;
	height: 3.2rem;
	padding: 0;
	background: transparent;
	border: 1px solid var(--venkat_color_border);
	border-radius: 999px;
	cursor: pointer;
	place-items: center;
	transition: background 180ms ease, border-color 180ms ease;

}
.venkat_menu_button span {

	position: absolute;
	width: 1.25rem;
	height: 1px;
	background: var(--venkat_color_text);
	transition: translate 180ms ease, rotate 180ms ease, opacity 180ms ease, background 180ms ease;

}
.venkat_menu_button span:nth-child(1) {

	translate: 0 -.4rem;

}
.venkat_menu_button span:nth-child(3) {

	translate: 0 .4rem;

}
.venkat_menu_button:hover,
.venkat_menu_button:focus-visible {

	background: var(--venkat_color_text);
	border-color: var(--venkat_color_text);

}
.venkat_menu_button:hover span,
.venkat_menu_button:focus-visible span {

	background: #ffffff;

}
body.venkat_menu_is_open {

	overflow: hidden;

}
body.venkat_menu_is_open .venkat_menu_button {

	background: var(--venkat_color_text);
	border-color: var(--venkat_color_text);

}
body.venkat_menu_is_open .venkat_menu_button span {

	background: #ffffff;

}
body.venkat_menu_is_open .venkat_menu_button span:nth-child(1) {

	translate: 0 0;
	rotate: 45deg;

}
body.venkat_menu_is_open .venkat_menu_button span:nth-child(2) {

	opacity: 0;

}
body.venkat_menu_is_open .venkat_menu_button span:nth-child(3) {

	translate: 0 0;
	rotate: -45deg;

}
main#venkat_main{
	width: 100%;
	overflow: hidden;
}
.venkat_hero_section {

	padding-block: clamp(3rem, 6vw, 5rem) clamp(3.4rem, 7vw, 5.8rem);

}
.venkat_hero_grid {

	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(18rem, .55fr);
	align-items: center;
	gap: clamp(2rem, 5vw, 4.6rem);

}
.venkat_hero_content {

	max-width: 39rem;

}
.venkat_label {

	margin: 0 0 .8rem;
	color: var(--venkat_color_accent_dark);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;

}
h1,
h2 {

	margin: 0;
	font-family: var(--venkat_font_display);
	font-weight: 500;
	line-height: 1.04;
	letter-spacing: -.04em;

}
h1 {

	max-width: 15ch;
	font-size: clamp(2.9rem, 6.5vw, 5.8rem);

}
h2 {

	max-width: 13ch;
	font-size: clamp(2.1rem, 4.4vw, 4rem);

}
p {

	margin: 0;

}
.venkat_intro {

	max-width: 35rem;
	margin-top: 1.25rem;
	color: var(--venkat_color_text_soft);
	font-size: clamp(1rem, 1.7vw, 1.16rem);

}
.venkat_action_group {

	display: flex;
	flex-wrap: wrap;
	gap: .7rem;
	margin-top: 1.55rem;

}
.venkat_button {

	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.95rem;
	padding: .8rem 1.15rem;
	border: 1px solid var(--venkat_color_text);
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	line-height: 1;
	text-transform: uppercase;
	transition: background 180ms ease, border-color 180ms ease, color 180ms ease, translate 180ms ease;

}
.venkat_button:hover,
.venkat_button:focus-visible {

	translate: 0 -.1rem;

}
.venkat_button_primary {

	background: var(--venkat_color_text);
	color: #ffffff;

}
.venkat_button_primary:hover,
.venkat_button_primary:focus-visible {

	background: var(--venkat_color_accent_dark);
	border-color: var(--venkat_color_accent_dark);

}
.venkat_button_secondary {

	background: transparent;
	color: var(--venkat_color_text);

}
.venkat_button_secondary:hover,
.venkat_button_secondary:focus-visible {

	background: var(--venkat_color_accent);
	border-color: var(--venkat_color_accent);
	color: #ffffff;

}
.venkat_hero_media {

	position: relative;
	isolation: isolate;
	max-width: 25rem;
	justify-self: end;

}
.venkat_hero_media::before {

	position: absolute;
	inset: 10% -7% -7% 14%;
	z-index: -1;
	content: "";
	background: var(--venkat_color_accent);
	border-radius: var(--venkat_radius_large);
	opacity: .26;

}
.venkat_hero_media img,
.venkat_portrait_card img {

	width: 100%;
	object-fit: cover;
	filter: grayscale(1) contrast(1.04);

}
.venkat_hero_media img {

	aspect-ratio: 4 / 5;
	border-radius: var(--venkat_radius_large);
	box-shadow: var(--venkat_shadow_soft);

}
.venkat_section_standard {

	padding-block: clamp(3.2rem, 6vw, 5.4rem);

}
.venkat_about_grid {

	display: grid;
	grid-template-columns: minmax(14rem, .5fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(2rem, 5vw, 4.4rem);

}
.venkat_portrait_card {

	position: relative;
	max-width: 22rem;
	padding: clamp(.55rem, 1.5vw, .8rem);
	background: var(--venkat_color_surface);
	border: 1px solid var(--venkat_color_border);
	border-radius: var(--venkat_radius_large);
	box-shadow: var(--venkat_shadow_soft);
	border: none;
}
.venkat_portrait_card img {

	aspect-ratio: 4 / 5;
	border-radius: calc(var(--venkat_radius_large) - .55rem);

}
.venkat_text_block {

	max-width: 34rem;

}
.venkat_text_block p:not(.venkat_label) {

	margin-top: .85rem;
	color: var(--venkat_color_text_soft);
	font-size: clamp(1rem, 1.7vw, 1.12rem);

}
.venkat_section_contact {

	background: var(--venkat_color_text);
	color: #ffffff;

}
.venkat_section_contact .venkat_label {

	color: #d7b092;

}
.venkat_section_contact h2 {

	max-width: 14ch;

}
.venkat_section_header {

	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 2rem;
	margin-bottom: clamp(1.6rem, 4vw, 2.8rem);

}
.venkat_contact_grid {

	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .85rem;

}
.venkat_contact_card {

	display: flex;
	min-height: 9.4rem;
	padding: 1.1rem;
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: var(--venkat_radius_medium);
	background: rgb(255 255 255 / 5%);
	flex-direction: column;
	justify-content: space-between;
	transition: all 180ms ease;
	gap: 0.5em;

}
.venkat_contact_card:hover,
.venkat_contact_card:focus-visible {

	background: rgb(255 255 255 / 9%);
	border-color: rgb(215 176 146 / 70%);
	translate: 0 -.14rem;

}
.venkat_contact_card span {

	color: rgb(255 255 255 / 62%);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;

}
.venkat_contact_icon {

	width: 2.45rem;
	height: 2.45rem;
	color: #d7b092;
	fill: currentColor;
	opacity: .9;
	transition: opacity 180ms ease, translate 180ms ease;

}
.venkat_contact_card:hover .venkat_contact_icon,
.venkat_contact_card:focus-visible .venkat_contact_icon {

	opacity: 1;
	translate: 0 -.08rem;

}
.venkat_contact_card strong {

	font-size: clamp(1rem, 1vw, 1.2rem);
	font-weight: 500;
	line-height: 1.28;
	letter-spacing: -.03em;

}
.venkat_map_section {

	padding-block: clamp(3.2rem, 6vw, 5.4rem);

}
.venkat_map_header {

	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 2rem;
	margin-bottom: 1.55rem;

}
.venkat_map_header h2 {

	max-width: 16ch;

}
.venkat_map_frame {

	overflow: hidden;
	background: var(--venkat_color_surface_soft);
	border: 1px solid var(--venkat_color_border);
	border-radius: var(--venkat_radius_large);
	box-shadow: var(--venkat_shadow_soft);

}
.venkat_map_frame iframe {

	min-height: clamp(18rem, 38vw, 27rem);
	filter: grayscale(1) contrast(1.02);

}
.venkat_site_footer {

	padding-block: 1.5rem;
	background: var(--venkat_color_text);
	color: rgb(255 255 255 / 70%);

}
.venkat_footer_inner {

	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	font-size: .86rem;

}
.venkat_footer_inner a {

	transition: color 180ms ease;

}
.venkat_footer_inner a:hover,
.venkat_footer_inner a:focus-visible {

	color: #ffffff;

}
.venkat_scroll_top_button {

	position: fixed;
	right: clamp(1rem, 3vw, 2rem);
	bottom: clamp(1rem, 3vw, 2rem);
	z-index: 18;
	display: grid;
	width: 3.15rem;
	height: 3.15rem;
	padding: 0;
	border: 1px solid rgb(18 18 18 / 14%);
	border-radius: 999px;
	background: rgb(255 250 243 / 86%);
	color: var(--venkat_color_text);
	box-shadow: 0 16px 45px rgb(18 18 18 / 12%);
	cursor: pointer;
	opacity: 0;
	place-items: center;
	pointer-events: none;
	translate: 0 .8rem;
	transition: opacity 220ms ease, translate 260ms ease, background 180ms ease, border-color 180ms ease, color 180ms ease;
	backdrop-filter: blur(14px);

}
.venkat_scroll_top_button span {

	font-size: 1.35rem;
	line-height: 1;
	translate: 0 -.05rem;

}
.venkat_scroll_top_button.venkat_is_visible {

	opacity: 1;
	pointer-events: auto;
	translate: 0 0;

}
.venkat_scroll_top_button:hover,
.venkat_scroll_top_button:focus-visible {

	background: var(--venkat_color_text);
	border-color: var(--venkat_color_text);
	color: #ffffff;

}
.venkat_reveal {

	opacity: 0;
	translate: 0 1.1rem;
	transition: all 520ms ease;

}
.venkat_reveal.venkat_is_visible {

	opacity: 1;
	translate: 0 0;

}
@media (max-width: 1025px) {

	.venkat_header_inner {

		min-height: 4.8rem;
		padding-block: .7rem;

	}
	.venkat_brand {

		position: relative;
		z-index: 50;
		width: clamp(8.8rem, 24vw, 12rem);

	}
	.venkat_menu_button {

		display: grid;

	}
	.venkat_main_nav {

		position: fixed;
		inset: 0;
		z-index: 40;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100dvh;
		padding: clamp(4rem, 10vw, 7rem) var(--venkat_space_outer);
		background: var(--venkat_color_background);
		flex-direction: column;
		gap: clamp(1.2rem, 4vw, 2.2rem);
		overflow: auto;
		pointer-events: none;
		visibility: hidden;
		opacity: 0;
		clip-path: inset(0 0 0 100%);
		transition: clip-path 320ms ease, opacity 220ms ease, visibility 320ms ease;

	}
	.venkat_main_nav a {

		padding-block: .2rem;
		color: var(--venkat_color_text);
		font-family: var(--venkat_font_display);
		font-size: clamp(3.2rem, 9vw, 6.2rem);
		font-weight: 500;
		letter-spacing: -.05em;
		line-height: .95;
		text-align: center;
		text-transform: none;

	}
	.venkat_main_nav a::after {

		height: .08em;
		bottom: -.12em;

	}
	body.venkat_menu_is_open .venkat_site_header {

		background: transparent;
		border-color: transparent;
		box-shadow: none;

	}
	body.venkat_menu_is_open .venkat_main_nav {

		pointer-events: auto;
		visibility: visible;
		opacity: 1;
		clip-path: inset(0);

	}
	.venkat_section_header {

		align-items: start;
		flex-direction: column;

	}

}
@media (max-width: 768px) {

	.venkat_hero_grid,
	.venkat_about_grid {

		grid-template-columns: 1fr;

	}
	.venkat_hero_media {

		max-width: 24rem;
		justify-self: start;

	}
	.venkat_about_grid .venkat_portrait_card {

		order: 2;

	}
	.venkat_about_grid .venkat_text_block {

		order: 1;

	}
	.venkat_contact_grid {

		grid-template-columns: 1fr;

	}
	.venkat_contact_card {

		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-rows: auto auto;
		align-items: center;
		justify-content: start;
		min-height: 0;
		padding: 1.05rem;
		column-gap: 1rem;
		row-gap: .2rem;

	}
	.venkat_contact_card span {

		grid-column: 2;
		grid-row: 1;

	}
	.venkat_contact_icon {

		grid-column: 1;
		grid-row: 1 / 3;
		align-self: stretch;
		width: 2.6rem;
		height: 100%;

	}
	.venkat_contact_card strong {

		grid-column: 2;
		grid-row: 2;

	}
	.venkat_action_group,
	.venkat_button {

		width: 100%;

	}
	.venkat_button {

		min-height: 3.2rem;

	}
	.venkat_map_header {

		align-items: start;
		flex-direction: column;

	}
	.venkat_footer_inner {

		align-items: start;
		flex-direction: column;

	}

}
@media (prefers-reduced-motion: reduce) {

	*,
	*::before,
	*::after {

		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;

	}
	.venkat_reveal {

		opacity: 1;
		translate: 0 0;

	}

}
