@charset "UTF-8";

/* =========================================================
   W-design COLUMN CSS
   Article Page
   ========================================================= */


/* =========================================================
   Base
   ========================================================= */

:root {
	--column-main-color: #0c3b35;
	--column-main-dark: #082d29;
	--column-navy: #172b3a;
	--column-accent: #b99a62;
	--column-text: #333333;
	--column-text-light: #666666;
	--column-border: #e5e8e6;
	--column-bg: #f7f9f8;
	--column-white: #ffffff;
}


/* =========================================================
   Common Container
   ========================================================= */

header {
	background: rgba(59, 96, 81);
}

.column-container {
	width: min(1200px, calc(100% - 80px));
	margin: 0 auto;
}

/* =========================================================
   Breadcrumb
   ========================================================= */

.breadcrumb-wrap {
	background-color: var(--column-bg);
	border-top: 1px solid #f0f2f1;
}

.breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;

	min-height: 52px;

	color: #888888;
	font-size: 12px;
}

.breadcrumb a {
	color: var(--column-main-color);
	text-decoration: none;

	transition: opacity 0.3s ease;
}

.breadcrumb a:hover {
	opacity: 0.65;
}

.breadcrumb span {
	color: #aaaaaa;
}


/* =========================================================
   Article Header
   ========================================================= */

.article-header {
	padding: 88px 0 82px;

	background-color: var(--column-bg);
	border-bottom: 1px solid var(--column-border);
}

.article-category {
	display: inline-flex;
	align-items: center;

	margin-bottom: 24px;
	padding: 8px 16px;

	color: var(--column-main-color);
	background-color: #e9f0ed;

	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;

	border-radius: 2px;
}

.article-header h1 {
	max-width: 950px;
	margin: 0;

	color: var(--column-navy);

	font-size: clamp(28px, 3.2vw, 48px);
	font-weight: 600;
	line-height: 1.55;
	letter-spacing: 0.04em;
}

.article-lead {
	max-width: 760px;
	margin: 32px 0 0;

	color: var(--column-text-light);

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

.article-meta {
	margin-top: 34px;

	color: #888888;

	font-size: 12px;
	letter-spacing: 0.06em;
}


/* =========================================================
   Article Layout
   ========================================================= */

.article {
	padding: 96px 0 120px;

	background-color: #ffffff;
}

.article-layout {
	display: grid;
	grid-template-columns: minmax(0, 820px) 300px;
	align-items: start;
	gap: 80px;
}


/* =========================================================
   Article Main
   ========================================================= */

.article-main {
	min-width: 0;
}

.article-main p {
	margin: 0 0 1.8em;

	color: var(--column-text);

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

.article-main p:last-child {
	margin-bottom: 0;
}


/* =========================================================
   Article Intro
   ========================================================= */

.article-intro {
	margin-bottom: 64px;
	padding: 40px 44px;

	background-color: var(--column-bg);
	border-left: 4px solid var(--column-main-color);
}

.article-intro p {
	margin-bottom: 1.4em;
}

.article-intro p:last-child {
	margin-bottom: 0;
}


/* =========================================================
   Table of Contents
   ========================================================= */

.article-toc {
	margin-bottom: 88px;
	padding: 34px 38px;

	background-color: #ffffff;
	border: 1px solid var(--column-border);
}

.article-toc-title {
	margin: 0 0 22px !important;

	color: var(--column-navy) !important;

	font-size: 17px !important;
	font-weight: 600;
	line-height: 1.5 !important;
}

.article-toc ol {
	margin: 0;
	padding-left: 22px;
}

.article-toc li {
	margin-bottom: 12px;
	padding-left: 6px;

	color: var(--column-main-color);

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

.article-toc li:last-child {
	margin-bottom: 0;
}

.article-toc a {
	color: var(--column-text);
	text-decoration: none;

	transition: color 0.3s ease;
}

.article-toc a:hover {
	color: var(--column-main-color);
}


/* =========================================================
   Article Section
   ========================================================= */

.article-section {
	margin-bottom: 96px;
	scroll-margin-top: 40px;
}

.article-section:last-of-type {
	margin-bottom: 0;
}


/* =========================================================
   Heading 2
   ========================================================= */

.article-section h2 {
	position: relative;

	margin: 0 0 42px;
	padding: 0 0 20px 24px;

	color: var(--column-navy);

	font-size: clamp(24px, 2.4vw, 34px);
	font-weight: 600;
	line-height: 1.55;
	letter-spacing: 0.04em;

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

.article-section h2::before {
	position: absolute;
	top: 0;
	left: 0;

	width: 5px;
	height: 100%;

	content: "";

	background-color: var(--column-main-color);
}


/* =========================================================
   Heading 3
   ========================================================= */

.article-section h3 {
	position: relative;

	margin: 58px 0 24px;
	padding-left: 20px;

	color: var(--column-navy);

	font-size: 22px;
	font-weight: 600;
	line-height: 1.6;
}

.article-section h3::before {
	position: absolute;
	top: 0.35em;
	left: 0;

	width: 8px;
	height: 8px;

	content: "";

	background-color: var(--column-accent);
	border-radius: 50%;
}


/* =========================================================
   Article List
   ========================================================= */

.article-list {
	margin: 28px 0 34px;
	padding: 0;

	list-style: none;
}

.article-list li {
	position: relative;

	margin-bottom: 14px;
	padding-left: 28px;

	color: var(--column-text);

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

.article-list li:last-child {
	margin-bottom: 0;
}

.article-list li::before {
	position: absolute;
	top: 0.7em;
	left: 4px;

	width: 7px;
	height: 7px;

	content: "";

	background-color: var(--column-main-color);
	border-radius: 50%;
}


/* =========================================================
   Check List
   ========================================================= */

.article-list-check {
	padding: 28px 32px;

	background-color: var(--column-bg);
	border: 1px solid var(--column-border);
}

.article-list-check li {
	padding-left: 34px;
}

.article-list-check li::before {
	top: 0.45em;

	width: 18px;
	height: 18px;

	background-color: var(--column-main-color);
	border-radius: 50%;
}

.article-list-check li::after {
	position: absolute;
	top: 0.67em;
	left: 9px;

	width: 6px;
	height: 3px;

	content: "";

	border-left: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;

	transform: rotate(-45deg);
}


/* =========================================================
   Quote
   ========================================================= */

.article-quote {
	margin: 34px 0;
	padding: 28px 32px;

	background-color: #f7f8f7;
	border-left: 3px solid var(--column-accent);
}

.article-quote p {
	margin-bottom: 10px;

	color: var(--column-navy);

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

.article-quote p:last-child {
	margin-bottom: 0;
}


/* =========================================================
   Table
   ========================================================= */

.article-table-wrap {
	width: 100%;
	margin: 36px 0 38px;

	overflow-x: auto;
}

.article-table {
	width: 100%;

	border-collapse: collapse;
	border-spacing: 0;
}

.article-table th,
.article-table td {
	padding: 18px 20px;

	text-align: left;
	vertical-align: middle;

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

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

.article-table th {
	width: 42%;

	color: #ffffff;
	background-color: var(--column-main-color);

	font-weight: 600;
}

.article-table td {
	color: var(--column-text);
	background-color: #ffffff;
}

.article-table tr:nth-child(even) td {
	background-color: var(--column-bg);
}


/* =========================================================
   Feature Box
   ========================================================= */

.article-feature-box {
	margin: 42px 0;
	padding: 36px 40px;

	background-color: var(--column-bg);
	border-top: 4px solid var(--column-main-color);
}

.article-feature-box h3 {
	margin: 0 0 26px;
	padding: 0;

	font-size: 20px;
}

.article-feature-box h3::before {
	display: none;
}

.article-feature-box .article-list {
	margin-bottom: 0;
}


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

.article-cta {
	position: relative;

	margin: 100px 0;
	padding: 58px 60px;

	color: #ffffff;
	background-color: var(--column-main-color);

	overflow: hidden;
}

.article-cta::after {
	position: absolute;
	right: -80px;
	bottom: -120px;

	width: 280px;
	height: 280px;

	content: "";

	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 50%;
}

.article-cta-label {
	position: relative;
	z-index: 1;

	margin-bottom: 18px !important;

	color: rgba(255, 255, 255, 0.75) !important;

	font-size: 12px !important;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.article-cta h2 {
	position: relative;
	z-index: 1;

	margin: 0 0 24px;

	color: #ffffff;

	font-size: clamp(24px, 2.5vw, 34px);
	font-weight: 600;
	line-height: 1.6;
}

.article-cta>p:not(.article-cta-label) {
	position: relative;
	z-index: 1;

	max-width: 600px;

	color: rgba(255, 255, 255, 0.88);

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

.article-cta-button {
	position: relative;
	z-index: 1;

	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;

	min-width: 260px;
	margin-top: 20px;
	padding: 17px 22px;

	color: var(--column-navy);
	background-color: #ffffff;

	font-size: 14px;
	font-weight: 600;
	text-decoration: none;

	border-radius: 2px;

	transition:
		background-color 0.3s ease,
		transform 0.3s ease;
}

.article-cta-button:hover {
	color: var(--column-navy);
	background-color: #edf2f0;

	transform: translateY(-3px);
}

.article-cta-button span {
	font-size: 20px;
	line-height: 1;
}


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

.article-final-cta {
	margin-top: 110px;
	padding: 64px 60px;

	text-align: center;

	background-color: var(--column-bg);
	border: 1px solid var(--column-border);
}

.article-final-cta .article-cta-label {
	margin-bottom: 20px !important;

	color: var(--column-main-color) !important;
}

.article-final-cta h2 {
	margin: 0 0 26px;

	color: var(--column-navy);

	font-size: clamp(28px, 3vw, 42px);
	font-weight: 600;
	line-height: 1.55;
}

.article-final-cta>p:not(.article-cta-label) {
	max-width: 580px;
	margin-right: auto;
	margin-left: auto;

	color: var(--column-text-light);

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

.article-final-cta .article-cta-button {
	color: #ffffff;
	background-color: var(--column-main-color);
}

.article-final-cta .article-cta-button:hover {
	color: #ffffff;
	background-color: var(--column-navy);
}


/* =========================================================
   Sidebar
   ========================================================= */

.article-sidebar {
	position: sticky;
	top: 40px;
}

.sidebar-box {
	margin-bottom: 28px;
	padding: 28px 26px;

	background-color: #ffffff;
	border: 1px solid var(--column-border);
}

.sidebar-title {
	margin: 0 0 22px !important;

	color: var(--column-navy) !important;

	font-size: 15px !important;
	font-weight: 600;
	line-height: 1.6 !important;
}

.sidebar-profile {
	text-align: center;
}

.sidebar-profile img {
	display: block;

	width: 96px;
	height: 96px;
	margin: 0 auto 18px;

	object-fit: cover;

	border-radius: 50%;
}

.sidebar-name {
	margin: 0 0 6px !important;

	color: var(--column-navy) !important;

	font-size: 16px !important;
	font-weight: 600;
}

.sidebar-role {
	margin: 0 0 18px !important;

	color: var(--column-main-color) !important;

	font-size: 12px !important;
}

.sidebar-text {
	margin: 0 !important;

	color: var(--column-text-light) !important;

	font-size: 13px !important;
	line-height: 1.9 !important;
	text-align: left;
}


/* =========================================================
   Sidebar Contact
   ========================================================= */

.sidebar-contact {
	background-color: var(--column-main-color);
	border-color: var(--column-main-color);
}

.sidebar-contact .sidebar-title {
	color: #ffffff !important;
}

.sidebar-contact p:not(.sidebar-title) {
	margin-bottom: 24px !important;

	color: rgba(255, 255, 255, 0.88) !important;

	font-size: 13px !important;
	line-height: 1.9 !important;
}

.sidebar-contact a {
	display: flex;
	align-items: center;
	justify-content: space-between;

	padding: 14px 16px;

	color: var(--column-navy);
	background-color: #ffffff;

	font-size: 13px;
	font-weight: 600;
	text-decoration: none;

	transition:
		background-color 0.3s ease,
		transform 0.3s ease;
}

.sidebar-contact a:hover {
	color: var(--column-navy);
	background-color: #edf2f0;

	transform: translateY(-2px);
}

.sidebar-contact a span {
	font-size: 18px;
}


/* =========================================================
   Footer
   ========================================================= */

.footer {
	padding: 70px 0 34px;

	color: #ffffff;
	background-color: var(--column-navy);
}

.footer-inner {
	width: min(1200px, calc(100% - 80px));
	margin: 0 auto;
}

.footer-logo {
	display: inline-block;
	margin-bottom: 20px;
}

.footer-logo img {
	display: block;
	max-width: 160px;
	height: auto;
}

.footer-inner>p:not(.copyright) {
	margin: 0 0 60px;

	color: rgba(255, 255, 255, 0.75);

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

.copyright {
	margin: 0;
	padding-top: 24px;

	color: rgba(255, 255, 255, 0.5);

	font-size: 11px;

	border-top: 1px solid rgba(255, 255, 255, 0.15);
}


/* =========================================================
   Responsive Tablet
   ========================================================= */

@media screen and (max-width: 1100px) {

	.article-layout {
		grid-template-columns: minmax(0, 1fr) 260px;
		gap: 50px;
	}

	.header-nav ul {
		gap: 22px;
	}

	.header-nav .header-contact {
		min-width: 140px;
	}

}


/* =========================================================
   Responsive Mobile
   ========================================================= */

@media screen and (max-width: 768px) {

	.column-container {
		width: calc(100% - 40px);
	}


	/* Header */

	.header-inner {
		width: calc(100% - 40px);
		min-height: 70px;
	}

	.header-logo img {
		max-width: 140px;
	}

	.header-nav {
		display: none;
	}


	/* Breadcrumb */

	.breadcrumb {
		min-height: 44px;

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


	/* Article Header */

	.article-header {
		padding: 56px 0 54px;
	}

	.article-category {
		margin-bottom: 18px;
		padding: 7px 12px;

		font-size: 10px;
	}

	.article-header h1 {
		font-size: 27px;
		line-height: 1.55;
	}

	.article-lead {
		margin-top: 24px;

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

	.article-meta {
		margin-top: 24px;
	}


	/* Article */

	.article {
		padding: 60px 0 80px;
	}

	.article-layout {
		display: block;
	}

	.article-main p {
		font-size: 15px;
		line-height: 2;
	}


	/* Intro */

	.article-intro {
		margin-bottom: 48px;
		padding: 26px 24px;
	}


	/* TOC */

	.article-toc {
		margin-bottom: 64px;
		padding: 26px 24px;
	}

	.article-toc-title {
		font-size: 15px !important;
	}

	.article-toc li {
		font-size: 13px;
	}


	/* Sections */

	.article-section {
		margin-bottom: 70px;
	}

	.article-section h2 {
		margin-bottom: 32px;
		padding: 0 0 16px 18px;

		font-size: 24px;
	}

	.article-section h2::before {
		width: 4px;
	}

	.article-section h3 {
		margin-top: 44px;

		font-size: 19px;
	}


	/* Lists */

	.article-list li {
		padding-left: 24px;

		font-size: 15px;
	}


	/* Quote */

	.article-quote {
		padding: 22px;
	}

	.article-quote p {
		font-size: 14px;
	}


	/* Table */

	.article-table {
		min-width: 580px;
	}

	.article-table th,
	.article-table td {
		padding: 14px 16px;

		font-size: 13px;
	}


	/* Feature Box */

	.article-feature-box {
		padding: 28px 24px;
	}


	/* CTA */

	.article-cta {
		margin: 70px 0;
		padding: 38px 28px;
	}

	.article-cta h2 {
		font-size: 25px;
	}

	.article-cta-button {
		width: 100%;
		min-width: 0;
	}


	/* Final CTA */

	.article-final-cta {
		margin-top: 80px;
		padding: 42px 24px;
	}

	.article-final-cta h2 {
		font-size: 28px;
	}

	.article-final-cta .article-cta-button {
		width: 100%;
	}


	/* Sidebar */

	.article-sidebar {
		position: static;

		margin-top: 70px;
	}

	.sidebar-box {
		padding: 24px 22px;
	}


	/* Footer */

	.footer {
		padding: 50px 0 28px;
	}

	.footer-inner {
		width: calc(100% - 40px);
	}

	.footer-inner>p:not(.copyright) {
		margin-bottom: 42px;
	}

}


/* =========================================================
   Small Mobile
   ========================================================= */

@media screen and (max-width: 480px) {

	.article-header h1 {
		font-size: 24px;
	}

	.article-lead {
		font-size: 13px;
	}

	.article-section h2 {
		font-size: 22px;
	}

	.article-section h3 {
		font-size: 18px;
	}

	.article-intro {
		padding: 22px 20px;
	}

	.article-toc {
		padding: 22px 20px;
	}

	.article-cta {
		padding: 34px 22px;
	}

	.article-final-cta {
		padding: 36px 20px;
	}

}