/* ==========================================================================
   HTS MARKET — Design System v3.0 "Studio"
   건축사무소·디자인 스튜디오 에디토리얼: 거대한 타이포, 좌측 정렬, 헤어라인 그리드,
   백색 지면 + 근흑 잉크 + 단 하나의 틸 악센트, 단 하나의 네이비 다크 밴드.
   Astra / Elementor 위에 로드되는 오버라이드 스타일시트.
   ========================================================================== */

:root {
	--htsm-paper: #FFFFFF;
	--htsm-mist: #F7F9FB;
	--htsm-ink: #121B2B;
	--htsm-stone: #5A6878;
	--htsm-teal: #149180;
	--htsm-navy: #0A1322;
	--htsm-navy-2: #15233B;
	--htsm-line: rgba(18, 27, 43, 0.16);
	--htsm-line-light: rgba(255, 255, 255, 0.18);
	--htsm-on-dark: #B9C7D8;
}

/* --------------------------------------------------------------------------
   1. 베이스
   -------------------------------------------------------------------------- */

body,
#page,
.site-content,
.ast-separate-container .ast-article-single {
	background: var(--htsm-paper) !important;
	background-image: none !important;
}

body,
button,
input,
select,
textarea,
.elementor-widget-container,
.site-header,
.site-footer {
	font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont,
		"Segoe UI", "Malgun Gothic", sans-serif;
}

body {
	color: var(--htsm-ink);
	font-size: 17px;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
	color: var(--htsm-ink);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1.08;
	word-break: keep-all;
}

p {
	word-break: keep-all;
}

::selection {
	background: rgba(20, 145, 128, 0.22);
}

:focus-visible {
	outline: 3px solid var(--htsm-teal);
	outline-offset: 2px;
}

img {
	height: auto;
	max-width: 100%;
}

/* --------------------------------------------------------------------------
   2. 헤더 — 조용한 바: 워드마크, 링크, 액션 하나
   -------------------------------------------------------------------------- */

/* 스티키 헤더 — 스크롤해도 조용히 따라오는 바 */
.site-header,
body.ast-theme-transparent-header .site-header {
	position: sticky !important;
	top: 0;
	z-index: 999;
}

.site-header,
.main-header-bar,
body.ast-theme-transparent-header .main-header-bar,
.ast-header-break-point .main-header-bar {
	background: var(--htsm-paper) !important;
	background-image: none !important;
	box-shadow: none !important;
	border-bottom: 1px solid var(--htsm-line) !important;
}

.custom-logo-link {
	display: inline-flex;
	align-items: center;
}

.custom-logo,
.site-header .custom-logo-link img {
	width: auto !important;
	max-height: 36px !important;
	max-width: 220px;
}

.site-header .site-title,
.site-header .site-description {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.main-header-menu .menu-item > .menu-link {
	color: var(--htsm-ink) !important;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -0.01em;
	transition: color 0.2s ease;
}

.main-header-menu .menu-item > .menu-link:hover,
.main-header-menu .current-menu-item > .menu-link {
	color: var(--htsm-teal) !important;
	font-weight: 600;
}

.ast-header-button-1 .ast-custom-button {
	background: var(--htsm-ink) !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #ffffff !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	padding: 12px 26px !important;
	transition: background-color 0.2s ease;
}

.ast-header-button-1 .ast-custom-button:hover {
	background: var(--htsm-teal) !important;
	color: #ffffff !important;
}

.ast-mobile-menu-trigger-minimal,
.menu-toggle {
	color: var(--htsm-ink) !important;
	background: transparent !important;
}

.menu-toggle svg,
.menu-toggle .ast-mobile-svg {
	fill: var(--htsm-ink) !important;
}

.ast-header-break-point .main-header-menu {
	background: var(--htsm-paper) !important;
}

/* --------------------------------------------------------------------------
   3. 버튼 — 텍스트 + 언더라인. 스튜디오 사이트의 절제된 액션.
   -------------------------------------------------------------------------- */

.elementor-button,
.ast-button,
.wp-block-button__link {
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	border-bottom: 2px solid var(--htsm-ink) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--htsm-ink) !important;
	font-size: 16.5px !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em;
	padding: 10px 4px !important;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.elementor-button:hover,
.ast-button:hover,
.wp-block-button__link:hover {
	background: transparent !important;
	border-bottom-color: var(--htsm-teal) !important;
	color: var(--htsm-teal) !important;
}

/* --------------------------------------------------------------------------
   4. 홈 히어로 — 백지 위의 거대한 잉크 타이포, 우하단 캔들 클러스터
   -------------------------------------------------------------------------- */

.elementor-element.elementor-element-5939a86c {
	background: var(--htsm-paper) !important;
	background-image: none !important;
	overflow: hidden;
	padding: 140px 24px 170px !important;
	position: relative;
}

.elementor-element.elementor-element-5939a86c .elementor-background-overlay,
.elementor-element.elementor-element-4076731b .elementor-background-overlay {
	display: none !important;
}

/* 로고의 캔들스틱: 우하단에 플랫 바 클러스터 하나 */
.elementor-element.elementor-element-5939a86c::after {
	content: "";
	position: absolute;
	right: 6vw;
	bottom: 0;
	width: 236px;
	height: 300px;
	background-image:
		linear-gradient(var(--htsm-ink), var(--htsm-ink)),
		linear-gradient(var(--htsm-teal), var(--htsm-teal)),
		linear-gradient(var(--htsm-ink), var(--htsm-ink)),
		linear-gradient(var(--htsm-teal), var(--htsm-teal)),
		linear-gradient(var(--htsm-ink), var(--htsm-ink)),
		linear-gradient(var(--htsm-teal), var(--htsm-teal));
	background-repeat: no-repeat;
	background-size:
		22px 150px,
		22px 268px,
		22px 96px,
		22px 196px,
		22px 130px,
		22px 236px;
	background-position:
		0 100%,
		42px 100%,
		84px 100%,
		126px 100%,
		168px 100%,
		210px 100%;
	pointer-events: none;
}

.elementor-element.elementor-element-5939a86c > .elementor-container {
	min-height: 0 !important;
	position: relative;
	z-index: 2;
}

/* 전부 좌측 정렬 — 에디토리얼 축 */
.elementor-element.elementor-element-5939a86c .elementor-widget-container,
.elementor-element.elementor-element-5939a86c .elementor-widget,
.elementor-element.elementor-element-5939a86c .elementor-heading-title {
	text-align: left !important;
}

.elementor-element.elementor-element-5939a86c h2.elementor-heading-title {
	background: none !important;
	border: 0 !important;
	color: var(--htsm-stone) !important;
	display: block;
	font-size: 16px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1.5 !important;
	padding: 0 !important;
}

.elementor-element.elementor-element-5939a86c h1.elementor-heading-title {
	color: var(--htsm-ink) !important;
	font-size: clamp(52px, 8.5vw, 118px) !important;
	font-weight: 800 !important;
	letter-spacing: -0.05em;
	line-height: 1.02 !important;
	margin: 18px 0 0;
	max-width: 1000px;
}

.elementor-element.elementor-element-5939a86c .elementor-widget-text-editor {
	color: var(--htsm-stone) !important;
	font-size: 17px;
	line-height: 1.8;
	margin: 0;
	max-width: 560px;
}

.elementor-element.elementor-element-5939a86c .elementor-widget-text-editor p {
	color: inherit;
}

/* --------------------------------------------------------------------------
   5. 서비스 3단 (7e21b87) — 박스 없는 컬럼, 헤어라인 룰
   -------------------------------------------------------------------------- */

.elementor-element.elementor-element-7e21b87 {
	background: var(--htsm-mist) !important;
	border-top: 1px solid var(--htsm-line);
	padding: 130px 24px 160px !important;
}

.elementor-element.elementor-element-7e21b87 .elementor-background-overlay {
	display: none !important;
}

.elementor-element.elementor-element-7e21b87 .elementor-widget .elementor-widget-container,
.elementor-element.elementor-element-7e21b87 .elementor-element .elementor-widget-wrap {
	background: transparent !important;
	background-image: none !important;
}

.elementor-element.elementor-element-7e21b87 .elementor-column > .elementor-widget-wrap {
	background: transparent !important;
	border: 0 !important;
	border-top: 1px solid var(--htsm-ink) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 26px 32px 0 0 !important;
}

.elementor-element.elementor-element-7e21b87 .elementor-heading-title,
.elementor-element.elementor-element-7e21b87 .elementor-heading-title a {
	border-bottom: 0 !important;
	color: var(--htsm-ink) !important;
	font-size: 25px !important;
	font-weight: 700 !important;
	letter-spacing: -0.03em !important;
	text-align: left !important;
	text-decoration: none !important;
}

.elementor-element.elementor-element-7e21b87 .elementor-heading-title a:hover {
	color: var(--htsm-teal) !important;
}

.elementor-element.elementor-element-7e21b87 .elementor-widget-text-editor {
	color: var(--htsm-stone);
	font-size: 16px;
	line-height: 1.75;
	text-align: left !important;
}

/* --------------------------------------------------------------------------
   6. 회사 소개 (34277c67) — 큰 제목 + 본문 2열 에디토리얼
   -------------------------------------------------------------------------- */

.elementor-element.elementor-element-34277c67 {
	background: var(--htsm-paper) !important;
	padding: 130px 24px 160px !important;
}

.elementor-element.elementor-element-34277c67 .elementor-heading-title {
	color: var(--htsm-ink) !important;
	font-size: clamp(34px, 4.6vw, 60px) !important;
	font-weight: 800 !important;
	letter-spacing: -0.045em;
	line-height: 1.06 !important;
	text-align: left !important;
}

.elementor-element.elementor-element-34277c67 .elementor-widget-text-editor {
	color: var(--htsm-ink);
	font-size: 17px;
	line-height: 1.85;
}

/* --------------------------------------------------------------------------
   7. 특징 블록 (2f32b5a) — 구(舊) <style> 고특이도 제압, 에디토리얼 재구성
   -------------------------------------------------------------------------- */

.elementor-element.elementor-element-2f32b5a {
	background: var(--htsm-paper) !important;
	border-top: 1px solid var(--htsm-line);
	padding: 130px 24px 160px !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-section {
	background: none !important;
	color: var(--htsm-ink) !important;
	overflow: visible !important;
	padding: 0 !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-wrap {
	margin: 0 auto;
	max-width: 1180px;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-badge {
	background: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--htsm-stone) !important;
	display: block !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-kicker {
	display: none !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-head {
	color: var(--htsm-ink) !important;
	font-size: 17px !important;
	letter-spacing: 0 !important;
	margin-bottom: 72px !important;
	max-width: 900px;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-head h2 {
	-webkit-background-clip: initial !important;
	background: none !important;
	background-clip: initial !important;
	color: var(--htsm-ink) !important;
	-webkit-text-fill-color: currentColor !important;
	font-size: clamp(34px, 4.6vw, 60px) !important;
	font-weight: 800 !important;
	letter-spacing: -0.045em !important;
	line-height: 1.06 !important;
	margin: 0 0 24px !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-head p {
	color: var(--htsm-stone) !important;
	font-size: 17px !important;
	max-width: 640px;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-head strong {
	color: var(--htsm-ink) !important;
	font-weight: 700 !important;
}

/* 3열: 박스 없이 잉크 룰 위의 텍스트 컬럼 */
.elementor-element.elementor-element-2f32b5a .hts-rental-grid {
	display: grid !important;
	gap: 0 40px !important;
	grid-template-columns: repeat(3, 1fr) !important;
	margin: 0 0 96px !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-card {
	backdrop-filter: none !important;
	background: transparent !important;
	border: 0 !important;
	border-top: 1px solid var(--htsm-ink) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--htsm-stone) !important;
	font-size: 16px !important;
	line-height: 1.75 !important;
	padding: 26px 0 0 !important;
	transform: none !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-card:hover {
	background: transparent !important;
	transform: none !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-icon {
	display: none !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-card h3 {
	-webkit-background-clip: initial !important;
	background: none !important;
	color: var(--htsm-ink) !important;
	-webkit-text-fill-color: currentColor !important;
	font-size: 25px !important;
	font-weight: 700 !important;
	letter-spacing: -0.03em !important;
	margin: 0 0 12px !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-card p {
	color: var(--htsm-stone) !important;
	font-size: 16px !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-card strong {
	color: var(--htsm-ink) !important;
	font-weight: 700 !important;
}

/* 하단 2단: 네이비 한 덩어리 없이, 룰과 여백의 2열 */
.elementor-element.elementor-element-2f32b5a .hts-rental-content {
	display: grid !important;
	gap: 0 40px !important;
	grid-template-columns: 1.5fr 1fr !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-text {
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	border-top: 1px solid var(--htsm-ink) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--htsm-ink) !important;
	font-size: 16.5px !important;
	line-height: 1.85 !important;
	padding: 26px 0 0 !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-text h3 {
	-webkit-background-clip: initial !important;
	background: none !important;
	color: var(--htsm-ink) !important;
	-webkit-text-fill-color: currentColor !important;
	font-size: 25px !important;
	font-weight: 700 !important;
	letter-spacing: -0.03em !important;
	margin: 0 0 14px !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-text strong {
	color: var(--htsm-teal) !important;
	font-weight: 700 !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-listbox {
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	border-top: 1px solid var(--htsm-ink) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--htsm-ink) !important;
	padding: 26px 0 0 !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-listbox h4 {
	color: var(--htsm-ink) !important;
	-webkit-text-fill-color: currentColor !important;
	font-size: 25px !important;
	font-weight: 700 !important;
	letter-spacing: -0.03em !important;
	margin: 0 0 18px !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-listbox ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-listbox li {
	border-bottom: 1px solid var(--htsm-line);
	color: var(--htsm-ink) !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
	margin: 0 !important;
	padding: 12px 0 12px 22px !important;
	position: relative;
}

.elementor-element.elementor-element-2f32b5a .hts-rental-listbox li::before {
	background: var(--htsm-teal);
	content: "";
	height: 8px;
	left: 0;
	position: absolute;
	top: 1.15em;
	width: 8px;
}

/* 하단 상담 카드 */
.elementor-element.elementor-element-2f32b5a [class*="cta"] {
	background: transparent !important;
	border: 0 !important;
	border-top: 1px solid var(--htsm-ink) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin-top: 96px;
	padding: 26px 0 0 !important;
}

.elementor-element.elementor-element-2f32b5a [class*="cta"] h3,
.elementor-element.elementor-element-2f32b5a [class*="cta"] h4 {
	color: var(--htsm-ink) !important;
	font-size: 25px !important;
	font-weight: 700 !important;
	letter-spacing: -0.03em !important;
}

.elementor-element.elementor-element-2f32b5a [class*="cta"] a,
.elementor-element.elementor-element-2f32b5a a[class*="btn"],
.elementor-element.elementor-element-2f32b5a a[class*="button"] {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 2px solid var(--htsm-ink) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--htsm-ink) !important;
	font-weight: 700 !important;
	padding: 10px 4px !important;
	transition: color 0.2s ease, border-color 0.2s ease !important;
}

.elementor-element.elementor-element-2f32b5a [class*="cta"] a:hover,
.elementor-element.elementor-element-2f32b5a a[class*="btn"]:hover {
	background: transparent !important;
	border-bottom-color: var(--htsm-teal) !important;
	color: var(--htsm-teal) !important;
}

/* --------------------------------------------------------------------------
   8. CTA (4076731b) — 페이지의 유일한 다크 밴드
   -------------------------------------------------------------------------- */

.elementor-element.elementor-element-4076731b {
	background: var(--htsm-navy) !important;
	background-image: none !important;
	padding: 130px 24px !important;
}

.elementor-element.elementor-element-4076731b .elementor-widget-container,
.elementor-element.elementor-element-4076731b .elementor-heading-title {
	text-align: left !important;
}

.elementor-element.elementor-element-4076731b .elementor-heading-title {
	color: #ffffff !important;
	font-family: inherit !important;
	font-size: clamp(38px, 5.5vw, 76px) !important;
	font-style: normal !important;
	font-weight: 800 !important;
	letter-spacing: -0.045em;
	line-height: 1.04 !important;
	max-width: 900px;
}

.elementor-element.elementor-element-4076731b .elementor-widget-text-editor {
	color: var(--htsm-on-dark);
	font-size: 16.5px;
	max-width: 640px;
}

.elementor-element.elementor-element-4076731b .elementor-widget-text-editor p {
	color: inherit;
}

.elementor-element.elementor-element-4076731b .elementor-button {
	border-bottom-color: #ffffff !important;
	color: #ffffff !important;
}

.elementor-element.elementor-element-4076731b .elementor-button:hover {
	border-bottom-color: var(--htsm-teal) !important;
	color: var(--htsm-teal) !important;
}

/* --------------------------------------------------------------------------
   9. 하단 갤러리 섹션 (4fa11189)
   -------------------------------------------------------------------------- */

.elementor-element.elementor-element-4fa11189 {
	background: var(--htsm-paper) !important;
	background-image: none !important;
	padding: 40px 24px !important;
}

/* --------------------------------------------------------------------------
   10. 푸터 — 네이비의 마무리
   -------------------------------------------------------------------------- */

.site-footer,
.site-footer [data-section] {
	background: var(--htsm-navy) !important;
	background-image: none !important;
}

.site-footer {
	color: var(--htsm-on-dark);
	font-size: 15px;
}

.site-footer .widget-title,
.site-footer .footer-widget-area .widget-title {
	color: #ffffff !important;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -0.01em;
	text-transform: none;
}

.site-footer a {
	color: var(--htsm-on-dark) !important;
	transition: color 0.2s ease;
}

.site-footer a:hover {
	color: #ffffff !important;
}

.site-footer .widget_text,
.site-footer .textwidget {
	color: var(--htsm-on-dark);
}

.site-footer .widget_media_image img {
	content: url("/logo.png");
	background: #ffffff;
	border-radius: 0;
	padding: 10px 14px;
	width: 200px;
}

.site-footer .site-footer-below-section-1,
.ast-footer-copyright {
	border-top: 1px solid var(--htsm-line-light) !important;
	color: rgba(185, 199, 216, 0.55);
	font-size: 13.5px;
}

/* --------------------------------------------------------------------------
   11. 반응형
   -------------------------------------------------------------------------- */

@media (max-width: 921px) {
	.elementor-element.elementor-element-5939a86c {
		padding: 72px 20px 180px !important;
	}

	.elementor-element.elementor-element-5939a86c h1.elementor-heading-title {
		font-size: clamp(40px, 11vw, 56px) !important;
	}

	.elementor-element.elementor-element-5939a86c::after {
		height: 150px;
		right: 20px;
		transform: scale(0.55);
		transform-origin: bottom right;
	}

	.elementor-element.elementor-element-7e21b87,
	.elementor-element.elementor-element-34277c67,
	.elementor-element.elementor-element-2f32b5a {
		padding: 80px 20px 100px !important;
	}

	.elementor-element.elementor-element-4076731b {
		padding: 96px 20px !important;
	}

	.elementor-element.elementor-element-7e21b87 .elementor-column > .elementor-widget-wrap {
		margin-bottom: 40px;
		padding-right: 0 !important;
	}

	.elementor-element.elementor-element-2f32b5a .hts-rental-grid,
	.elementor-element.elementor-element-2f32b5a .hts-rental-content {
		grid-template-columns: 1fr !important;
	}

	.elementor-element.elementor-element-2f32b5a .hts-rental-card,
	.elementor-element.elementor-element-2f32b5a .hts-rental-text {
		margin-bottom: 48px !important;
	}

	.elementor-element.elementor-element-2f32b5a .hts-rental-grid {
		margin-bottom: 0 !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}
