/* Law Square global typography system v1.0. */
@font-face { font-family: "SUIT"; src: url("../fonts/SUIT-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "SUIT"; src: url("../fonts/SUIT-ExtraBold.woff2") format("woff2"); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Pretendard"; src: url("../fonts/Pretendard-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Pretendard"; src: url("../fonts/Pretendard-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Pretendard"; src: url("../fonts/Pretendard-SemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Pretendard"; src: url("../fonts/Pretendard-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }

:root {
	--lgw-font-heading: "SUIT", "Pretendard", sans-serif;
	--lgw-font-body: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--lgw-color-h1: #0f172a;
	--lgw-color-heading: #1e293b;
	--lgw-color-body: #334155;
	--lgw-color-link: #1d4ed8;
	--lgw-color-accent: #c08a3e;
}

body, button, input, select, textarea { font-family: var(--lgw-font-body); }
.entry-content, .wp-block-post-content, .lgw-content, article { font-family: var(--lgw-font-body); }
.entry-content, .wp-block-post-content, .lgw-content { color: var(--lgw-color-body); }

.entry-title, .single-post h1, .wp-block-post-title {
	font-family: var(--lgw-font-heading);
	font-size: clamp(34px, 4.2vw, 58px);
	line-height: 1.28;
	font-weight: 800;
	letter-spacing: -0.035em;
	color: var(--lgw-color-h1);
}

.entry-content p, .wp-block-post-content p {
	font-size: 19px;
	line-height: 1.9;
	font-weight: 400;
	letter-spacing: -0.01em;
	margin-bottom: 1.7em;
}

.entry-content h2, .wp-block-post-content h2 {
	font-family: var(--lgw-font-body);
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.45;
	font-weight: 700;
	letter-spacing: -0.025em;
	color: var(--lgw-color-heading);
	margin-top: 2.1em;
	margin-bottom: 0.8em;
}

.entry-content h3, .wp-block-post-content h3 {
	font-family: var(--lgw-font-body);
	font-size: clamp(24px, 2.2vw, 32px);
	line-height: 1.5;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--lgw-color-heading);
	margin-top: 1.8em;
	margin-bottom: 0.7em;
}

.entry-content h4, .wp-block-post-content h4 {
	font-family: var(--lgw-font-body);
	font-size: clamp(22px, 1.8vw, 26px);
	line-height: 1.55;
	font-weight: 600;
	letter-spacing: -0.018em;
	color: var(--lgw-color-heading);
	margin-top: 1.6em;
	margin-bottom: 0.65em;
}

.entry-content ul, .entry-content ol, .wp-block-post-content ul, .wp-block-post-content ol {
	font-family: var(--lgw-font-body);
	font-size: 19px;
	line-height: 1.95;
	color: var(--lgw-color-body);
	margin-bottom: 1.7em;
	padding-left: 1.5em;
}

.entry-content li + li, .wp-block-post-content li + li { margin-top: 0.35em; }
.entry-content li > ul, .entry-content li > ol, .wp-block-post-content li > ul, .wp-block-post-content li > ol { margin-top: 0.35em; margin-bottom: 0; }
.entry-content a, .wp-block-post-content a { color: var(--lgw-color-link); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.entry-content strong, .entry-content b, .wp-block-post-content strong, .wp-block-post-content b { font-weight: 700; color: var(--lgw-color-heading); }
.entry-content mark, .entry-content .lgw-highlight, .wp-block-post-content mark, .wp-block-post-content .lgw-highlight { background: rgba(192, 138, 62, 0.14); color: inherit; }

.entry-content .wp-block-table, .wp-block-post-content .wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.entry-content table, .wp-block-post-content table, .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--lgw-font-body);
	font-size: 17px;
	line-height: 1.7;
}
.entry-content th, .wp-block-post-content th, .wp-block-table th { font-weight: 700; color: var(--lgw-color-heading); background: #f8fafc; }
.entry-content th, .entry-content td, .wp-block-post-content th, .wp-block-post-content td, .wp-block-table th, .wp-block-table td { padding: 14px 16px; border: 1px solid #e2e8f0; vertical-align: top; }

.entry-content blockquote, .wp-block-post-content blockquote, .wp-block-quote {
	font-family: var(--lgw-font-body);
	font-size: 18px;
	line-height: 1.8;
	color: var(--lgw-color-body);
	border-left: 4px solid var(--lgw-color-accent);
	background: #f8fafc;
	padding: 20px 24px;
	margin: 2em 0;
}

button, .wp-block-button__link, .lgw-button, .lgw-btn, .lgw-download-button, .lgw_form_detail__download_button, .lgw-calculator-button {
	font-family: var(--lgw-font-body);
	font-weight: 500;
	letter-spacing: -0.015em;
}

.main-navigation, .main-navigation a, .lgw-renewal-header, .lgw-header, .lgw-search-panel { font-family: var(--lgw-font-body); }
.main-navigation a { font-weight: 500; }
.lgw-brand-name { font-family: var(--lgw-font-heading); font-weight: 800; }

.lgw_form_detail,
.lgw_form_detail__downloads,
.lgw_form_detail__faq,
.lgw_form_detail__related_cards,
.lgw-legal-info-page,
.lgw-legal-form-page,
.lgw-category-template,
.lgw-calculator-page,
.lgw-search-page,
.lgw-home-sections { font-family: var(--lgw-font-body); }

@media (max-width: 768px) {
	.entry-title, .single-post h1, .wp-block-post-title { font-size: clamp(32px, 8vw, 38px); line-height: 1.35; }
	.entry-content h2, .wp-block-post-content h2 { font-size: 28px; }
	.entry-content h3, .wp-block-post-content h3 { font-size: 23px; }
	.entry-content h4, .wp-block-post-content h4 { font-size: 21px; }
	.entry-content p, .entry-content ul, .entry-content ol, .wp-block-post-content p, .wp-block-post-content ul, .wp-block-post-content ol { font-size: 17px; line-height: 1.85; }
	.entry-content > table, .wp-block-post-content > table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
