/* =========================================
   1. LAYOUT & CONTAINER STYLES (레이아웃 및 컨테이너)
   - 전체 페이지 레이아웃
   - 컨테이너 너비 설정
   - 콘텐츠 영역 구조
========================================= */

/* 기본 컨테이너 너비 */
.cs-container {
	max-width: 1180px !important;
}

.e-con-inner {
	grid-gap: 15px !important;
}

/* cs-entry__container 폭 설정 */
.cs-entry__container {
	max-width: 1180px !important;
	width: 100% !important;
	margin: 0 auto !important;
}

/* entry-content 폭을 1180px로 강제 설정 */
.entry-content {
	max-width: 1180px !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

/* 상위 요소의 간섭 방지 */
.cs-entry__content-wrap {
	max-width: 1180px !important;
	width: 100% !important;
	padding: 0 !important;
}

/* Header content styles */
.cs-entry__header-content {
	margin-bottom: 0px !important;
}

/* WordPress 블록 요소 폭 조정 */
.entry-content .wp-block-group__inner-container {
	max-width: 1180px !important;
	width: 100% !important;
}

/* 계산기 wrapper 및 내부 요소 폭 조정 */
.exchange-calc-wrapper {
	max-width: 1180px !important;
	width: 100% !important;
}

/* Elementor 최상위 컨테이너 폭 조정 */
.entry-content .elementor-645 {
	max-width: 1180px !important;
	width: 100% !important;
	margin: 0 auto !important;
}

/* 박스형 컨테이너 폭 조정 */
.entry-content .e-con-boxed {
	max-width: 1180px !important;
	width: 100% !important;
	margin: 0 auto !important;
}

/* 내부 컨테이너 폭 조정 */
.entry-content .e-con-inner {
	max-width: 1180px !important;
	width: 100% !important;
}

/* 위젯 컨테이너 폭 조정 */
.entry-content .elementor-widget-container {
	max-width: 1180px !important;
	width: 100% !important;
	padding: 0 !important;
}

/* 포트폴리오 섹션 폭 조정 */
.entry-content .sight-portfolio-area__outer {
	max-width: 1180px !important;
	width: 100% !important;
	margin: 0 auto !important;
}

/* Body base styles */
html, body {
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: hidden !important;
}

/* 부모 컨테이너 간격 제거 */
.elementor-element[data-id="9764a0b"],
.elementor-element[data-id="443766c"] {
	padding: 0 !important;
	margin: 0 !important;
}

/* =========================================
   2. TYPOGRAPHY (타이포그래피)
   - 폰트 크기 및 스타일
   - 제목 스타일
========================================= */

/* Font styles */
.has-inline-color {
	font-size: 19px !important;
}

h2.cs-work-experience__name.cs-work-experience__toggle {
	font-size: 18px !important;
}

/* =========================================
   3. HEADER & NAVIGATION (헤더 및 네비게이션)
   - 헤더 요소
   - 브레드크럼
========================================= */

.cs-entry__title {
	display: none !important;
}

.cs-entry__header {
	display: none !important;
}

.cs-site-content {
	margin-top: -50px !important;
}

.cs-hero__container {
	margin-top: 30px !important;
	margin-bottom: 30px !important;
}

.cs-breadcrumbs {
	display: none !important;
}

.cs-header__outer {
	margin-top: 0px !important;
}

/* =========================================
   4. CONTENT1 STYLES (콘텐츠 박스 스타일) - RENEWED
   - 깔끔하고 모던한 디자인
   - 미니멀 스타일
   - 향상된 가독성
========================================= */

/* 기본 콘텐츠 컨테이너 */
.content1 {
	max-width: 1180px !important;
	width: 100% !important;
	margin: 40px auto !important;
	padding: 40px 50px !important;
	background: #ffffff !important;
	border-radius: 16px !important;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
	line-height: 1.8 !important;
	color: #333333 !important;
	position: relative !important;
	transition: box-shadow 0.3s ease !important;
}

.content1:hover {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
}

/* 왼쪽 액센트 라인 */
.content1::before {
	content: '' !important;
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	bottom: 0 !important;
	width: 4px !important;
	background: linear-gradient(180deg, #667eea 0%, #764ba2 100%) !important;
	border-radius: 16px 0 0 16px !important;
}

/* 제목 h2 스타일 */
.content1 h2 {
	font-size: 28px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	margin: 0 0 24px 0 !important;
	line-height: 1.4 !important;
	letter-spacing: -0.5px !important;
}

/* 제목 h3 스타일 */
.content1 h3 {
	font-size: 22px !important;
	font-weight: 600 !important;
	color: #2d2d2d !important;
	margin: 32px 0 16px 0 !important;
	line-height: 1.4 !important;
	letter-spacing: -0.3px !important;
}

/* 제목 h4 스타일 */
.content1 h4 {
	font-size: 18px !important;
	font-weight: 600 !important;
	color: #404040 !important;
	margin: 24px 0 12px 0 !important;
	line-height: 1.5 !important;
}

/* 단락 스타일 */
.content1 p {
	font-size: 16px !important;
	line-height: 1.8 !important;
	color: #4a4a4a !important;
	margin: 0 0 20px 0 !important;
	word-break: keep-all !important;
	overflow-wrap: break-word !important;
}

/* 강조 텍스트 */
.content1 strong {
	font-weight: 600 !important;
	color: #1a1a1a !important;
}

/* 링크 스타일 */
.content1 a {
	color: #667eea !important;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(102, 126, 234, 0.3) !important;
	transition: all 0.2s ease !important;
}

.content1 a:hover {
	color: #764ba2 !important;
	border-bottom-color: rgba(118, 75, 162, 0.5) !important;
}

/* 순서 없는 목록 */
.content1 ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 20px 0 !important;
}

.content1 ul li {
	position: relative !important;
	padding-left: 28px !important;
	margin-bottom: 12px !important;
	line-height: 1.8 !important;
	color: #4a4a4a !important;
}

.content1 ul li::before {
	content: '' !important;
	position: absolute !important;
	left: 0 !important;
	top: 11px !important;
	width: 6px !important;
	height: 6px !important;
	background: #667eea !important;
	border-radius: 50% !important;
}

/* 중첩 목록 */
.content1 ul ul {
	margin: 8px 0 !important;
}

.content1 ul ul li::before {
	width: 5px !important;
	height: 5px !important;
	background: #9ca3af !important;
}

/* 순서 있는 목록 */
.content1 ol {
	counter-reset: item !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 20px 0 !important;
}

.content1 ol li {
	position: relative !important;
	padding-left: 32px !important;
	margin-bottom: 12px !important;
	line-height: 1.8 !important;
	color: #4a4a4a !important;
	counter-increment: item !important;
}

.content1 ol li::before {
	content: counter(item) !important;
	position: absolute !important;
	left: 0 !important;
	top: 2px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #667eea !important;
}

/* 인용구 스타일 */
.content1 blockquote {
	margin: 24px 0 !important;
	padding: 20px 24px !important;
	background: #f8f9fa !important;
	border-left: 4px solid #667eea !important;
	border-radius: 0 8px 8px 0 !important;
	color: #4a4a4a !important;
}

.content1 blockquote p {
	margin: 0 !important;
}

/* 코드 블록 */
.content1 code {
	padding: 2px 6px !important;
	background: #f1f3f5 !important;
	border-radius: 4px !important;
	font-size: 14px !important;
	font-family: 'Courier New', monospace !important;
	color: #667eea !important;
}

.content1 pre {
	padding: 20px !important;
	background: #f8f9fa !important;
	border-radius: 8px !important;
	overflow-x: auto !important;
	margin: 20px 0 !important;
}

.content1 pre code {
	padding: 0 !important;
	background: transparent !important;
	color: #333333 !important;
}

/* 구분선 */
.content1 hr {
	border: none !important;
	height: 1px !important;
	background: #e5e7eb !important;
	margin: 32px 0 !important;
}

/* 테이블 스타일 */
.content1 table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin: 24px 0 !important;
}

.content1 table th,
.content1 table td {
	padding: 12px 16px !important;
	text-align: left !important;
	border-bottom: 1px solid #e5e7eb !important;
}

.content1 table th {
	background: #f8f9fa !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
}

.content1 table tr:last-child td {
	border-bottom: none !important;
}

/* =========================================
   5. BUTTON & ELEMENT STYLES (버튼 및 요소 스타일)
   - 네오브루탈리즘 버튼 그리드
   - 호버 효과
   - 아이콘 스타일
========================================= */

/* 메인 그리드 컨테이너 - 버튼만 선택 */
.e-grid.e-con:has(.elementor-widget-button) {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 14px !important;
	width: 100% !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

/* 섹션 제목 - ID 독립적 */
.e-con-full > .elementor-widget-heading {
	margin-bottom: 18px !important;
	margin-top: 22px !important;
}

/* 제목 h2 스타일 개선 */
.e-con-full > .elementor-widget-heading .elementor-heading-title {
	font-size: 24px !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	letter-spacing: -0.3px !important;
}

/* 메인 도구 탐색 네비게이션 - 텍스트 중심, SVG/icon 추가 없음 */
.roberin-tools-nav {
	width: 100% !important;
	max-width: 1180px !important;
	margin: 18px auto 30px !important;
	padding: 18px !important;
	background: #f8fafc !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 16px !important;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05) !important;
}

.roberin-tools-nav__label {
	display: block !important;
	margin: 0 0 12px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #334155 !important;
	letter-spacing: -0.1px !important;
}

.roberin-tools-nav__chips {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 9px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.roberin-tools-nav__chips li,
.roberin-featured-links li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.roberin-tools-nav__chips li::before,
.roberin-featured-links li::before {
	display: none !important;
	content: none !important;
}

.roberin-tools-nav a,
.roberin-featured-links a {
	text-decoration: none !important;
	box-sizing: border-box !important;
}

.roberin-tools-nav a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 36px !important;
	padding: 8px 13px !important;
	background: #ffffff !important;
	border: 1px solid #dbe3ec !important;
	border-radius: 999px !important;
	color: #1f2937 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	white-space: nowrap !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}

.roberin-tools-nav a:hover,
.roberin-tools-nav a:focus {
	background: #eff6ff !important;
	border-color: #93c5fd !important;
	color: #1d4ed8 !important;
	transform: translateY(-1px) !important;
}

.roberin-tools-nav a:focus {
	outline: 2px solid rgba(37, 99, 235, 0.25) !important;
	outline-offset: 2px !important;
}

.roberin-tool-category-section,
[id^="tools-"] {
	scroll-margin-top: 88px !important;
}

.roberin-tool-section-desc {
	max-width: 780px !important;
	margin: -4px auto 18px !important;
	color: #64748b !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
	text-align: center !important;
	word-break: keep-all !important;
}

.roberin-featured-links {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 10px !important;
	width: 100% !important;
	max-width: 1180px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	list-style: none !important;
}

.roberin-featured-links a {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 48px !important;
	padding: 12px 15px !important;
	background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%) !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 10px !important;
	box-shadow: 3px 3px 0 rgba(15, 23, 42, 0.09), 0 2px 8px rgba(15, 23, 42, 0.05) !important;
	color: #1f2937 !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	transition: all 0.2s ease !important;
}

.roberin-featured-links a:hover,
.roberin-featured-links a:focus {
	background: linear-gradient(135deg, #eff6ff 0%, #e0f2fe 100%) !important;
	border-color: #60a5fa !important;
	color: #1d4ed8 !important;
	transform: translate(-1px, -1px) !important;
	box-shadow: 4px 4px 0 rgba(15, 23, 42, 0.12), 0 4px 10px rgba(37, 99, 235, 0.14) !important;
}

/* 도구 중분류 라벨 - Elementor grid 버튼 목록에서 한 줄 전체를 차지하는 구분선형 제목 */
.elementor-widget-html:has(.roberin-tool-subgroup) {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	max-width: 100% !important;
}

.roberin-tool-subgroup {
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 24px 0 8px !important;
	padding: 0 !important;
	order: initial !important;
}

.roberin-tool-subgroup:first-child {
	margin-top: 0 !important;
}

.roberin-tool-subgroup::after {
	content: "" !important;
	flex: 1 1 auto !important;
	height: 1px !important;
	background: linear-gradient(90deg, rgba(148, 163, 184, 0.45), rgba(148, 163, 184, 0.08)) !important;
}

.roberin-tool-subgroup__title {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 28px !important;
	margin: 0 !important;
	padding: 4px 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: #475569 !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.15px !important;
	white-space: nowrap !important;
}


/* 도구 소분류 라벨 - 중분류 안에서 더 작은 의도 묶음을 가볍게 구분 */
.elementor-widget-html:has(.roberin-tool-leafgroup) {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	max-width: 100% !important;
}

.roberin-tool-leafgroup {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 10px 0 2px !important;
	padding: 0 0 0 14px !important;
}

.roberin-tool-leafgroup::before {
	content: "" !important;
	flex: 0 0 6px !important;
	width: 6px !important;
	height: 6px !important;
	border-radius: 999px !important;
	background: #94a3b8 !important;
}

.roberin-tool-leafgroup::after {
	content: "" !important;
	flex: 1 1 auto !important;
	height: 1px !important;
	background: linear-gradient(90deg, rgba(203, 213, 225, 0.72), rgba(203, 213, 225, 0.12)) !important;
}

.roberin-tool-leafgroup__title {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 22px !important;
	margin: 0 !important;
	padding: 2px 0 !important;
	background: transparent !important;
	border: 0 !important;
	color: #64748b !important;
	font-size: 12px !important;
	font-weight: 850 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.1px !important;
	white-space: nowrap !important;
}

/* 헤더 도구 검색 */
.roberin-tool-search-toggle {
	display: inline-flex !important;
	align-items: center !important;
}

.roberin-tool-search-toggle__button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 40px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: inherit !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease, opacity 0.2s ease, transform 0.2s ease !important;
}

.roberin-tool-search-toggle__button:hover,
.roberin-tool-search-toggle__button:focus {
	background: rgba(37, 99, 235, 0.08) !important;
	opacity: 0.86 !important;
	outline: none !important;
	transform: translateY(-1px) !important;
}

.roberin-tool-search-toggle__button:focus-visible {
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.22) !important;
}

.roberin-tool-search-toggle__button .cs-icon {
	font-size: 18px !important;
	line-height: 1 !important;
}

html.roberin-tool-search-open,
body.roberin-tool-search-open {
	overflow: hidden !important;
}

.roberin-tool-search[hidden] {
	display: none !important;
}

.roberin-tool-search {
	position: fixed !important;
	inset: 0 !important;
	z-index: 99999 !important;
	display: flex !important;
	align-items: flex-start !important;
	justify-content: center !important;
	padding: clamp(18px, 8vh, 72px) 18px 18px !important;
}

.roberin-tool-search__backdrop {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(15, 23, 42, 0.48) !important;
	backdrop-filter: blur(10px) !important;
	-webkit-backdrop-filter: blur(10px) !important;
}

.roberin-tool-search__dialog {
	position: relative !important;
	z-index: 1 !important;
	width: min(720px, 100%) !important;
	max-height: min(760px, calc(100vh - 36px)) !important;
	overflow: hidden !important;
	padding: 28px !important;
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 24px !important;
	box-shadow: 0 24px 80px rgba(15, 23, 42, 0.28) !important;
	animation: roberinToolSearchIn 0.2s ease-out !important;
}

.roberin-tool-search__close {
	position: absolute !important;
	top: 18px !important;
	right: 18px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	padding: 0 !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 999px !important;
	background: #f8fafc !important;
	color: #334155 !important;
	cursor: pointer !important;
}

.roberin-tool-search__close:hover,
.roberin-tool-search__close:focus {
	background: #eff6ff !important;
	color: #1d4ed8 !important;
	outline: none !important;
}

.roberin-tool-search__header {
	padding-right: 42px !important;
}

.roberin-tool-search__title {
	margin: 0 0 6px !important;
	color: #0f172a !important;
	font-size: clamp(24px, 4vw, 34px) !important;
	font-weight: 850 !important;
	letter-spacing: -0.5px !important;
	line-height: 1.18 !important;
}

.roberin-tool-search__desc {
	margin: 0 0 20px !important;
	color: #64748b !important;
	font-size: 15px !important;
	line-height: 1.55 !important;
}

.roberin-tool-search__field {
	display: block !important;
	margin: 0 !important;
}

.roberin-tool-search__input {
	width: 100% !important;
	height: 58px !important;
	padding: 0 18px !important;
	border: 2px solid #cbd5e1 !important;
	border-radius: 16px !important;
	background: #f8fafc !important;
	color: #0f172a !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	letter-spacing: -0.2px !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

.roberin-tool-search__input:focus {
	border-color: #2563eb !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12) !important;
	outline: none !important;
}

.roberin-tool-search__status {
	min-height: 20px !important;
	margin: 12px 2px 8px !important;
	color: #64748b !important;
	font-size: 13px !important;
	font-weight: 700 !important;
}

.roberin-tool-search__results {
	display: grid !important;
	gap: 8px !important;
	max-height: min(430px, calc(100vh - 280px)) !important;
	overflow: auto !important;
	padding-right: 4px !important;
}

.roberin-tool-search__result {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 14px !important;
	padding: 13px 15px !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 14px !important;
	background: #ffffff !important;
	color: #0f172a !important;
	text-decoration: none !important;
	box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04) !important;
	transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease !important;
}

.roberin-tool-search__result:hover,
.roberin-tool-search__result:focus,
.roberin-tool-search__result.is-active {
	border-color: #93c5fd !important;
	background: #eff6ff !important;
	color: #1d4ed8 !important;
	transform: translateY(-1px) !important;
	outline: none !important;
}

.roberin-tool-search__result-title {
	font-size: 15px !important;
	font-weight: 850 !important;
	line-height: 1.35 !important;
}

.roberin-tool-search__result-title mark {
	padding: 0 2px !important;
	background: #fef3c7 !important;
	border-radius: 4px !important;
	color: inherit !important;
}

.roberin-tool-search__result-meta {
	flex: 0 0 auto !important;
	max-width: 48% !important;
	color: #64748b !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	text-align: right !important;
}

.roberin-tool-search__empty {
	margin: 0 !important;
	padding: 24px 16px !important;
	border: 1px dashed #cbd5e1 !important;
	border-radius: 14px !important;
	background: #f8fafc !important;
	color: #64748b !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-align: center !important;
}

@keyframes roberinToolSearchIn {
	from {
		opacity: 0;
		transform: translateY(14px) scale(0.98);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

/* 버튼 위젯 컨테이너 */
.elementor-element.elementor-widget-button {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-widget-container {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-button-wrapper {
	width: 100% !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* 버튼 기본 스타일 - 얇은 테두리 */
.elementor-button.elementor-button-link {
	width: 100% !important;
	padding: 14px 18px !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	text-align: left !important;
	position: relative !important;
	background: linear-gradient(135deg, #ffffff 0%, #f5f5f0 100%) !important;
	border: 1px solid #555555 !important;
	border-radius: 10px !important;
	box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06) !important;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
	cursor: pointer !important;
	overflow: hidden !important;
}

/* 버튼 내용 래퍼 */
.elementor-button-content-wrapper {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 11px !important;
	width: 100% !important;
	position: relative !important;
	z-index: 2 !important;
}

/* 아이콘 배경 - 액센트 컬러 */
.elementor-button-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	margin: 0 !important;
	width: 34px !important;
	height: 34px !important;
	background: linear-gradient(135deg, #3498db 0%, #2980b9 100%) !important;
	border: 1px solid #2980b9 !important;
	border-radius: 8px !important;
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.12), 0 2px 6px rgba(52, 152, 219, 0.3) !important;
	transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
	position: relative !important;
}

/* 아이콘 반짝임 효과 */
.elementor-button-icon::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: -100% !important;
	width: 100% !important;
	height: 100% !important;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent) !important;
	transition: left 0.5s ease !important;
}

.elementor-button-icon svg {
	width: 17px !important;
	height: 17px !important;
	fill: #ffffff !important;
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3)) !important;
	transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
	position: relative !important;
	z-index: 1 !important;
}

/* 텍스트 스타일 */
.elementor-button-text {
	font-size: 15.5px !important;
	font-weight: 700 !important;
	color: #222222 !important;
	line-height: 1.4 !important;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) !important;
	transition: all 0.3s ease !important;
}

/* 버튼 하이라이트 효과 */
.elementor-button.elementor-button-link::after {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: -100% !important;
	width: 100% !important;
	height: 100% !important;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent) !important;
	transition: left 0.6s ease !important;
	z-index: 1 !important;
}

/* 호버 효과 - 강력한 시각적 피드백 */
.elementor-button.elementor-button-link:hover {
	background: linear-gradient(135deg, #f5f5f0 0%, #e8e8e0 100%) !important;
	border-color: #3498db !important;
	box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.15), 0 4px 12px rgba(52, 152, 219, 0.3) !important;
	transform: translate(-2px, -2px) !important;
}

.elementor-button.elementor-button-link:hover::after {
	left: 100% !important;
}

.elementor-button.elementor-button-link:hover .elementor-button-icon {
	background: linear-gradient(135deg, #2980b9 0%, #21618c 100%) !important;
	border-color: #21618c !important;
	transform: scale(1.15) rotate(-5deg) !important;
	box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.15), 0 3px 10px rgba(52, 152, 219, 0.5) !important;
}

.elementor-button.elementor-button-link:hover .elementor-button-icon::before {
	left: 100% !important;
}

.elementor-button.elementor-button-link:hover .elementor-button-icon svg {
	transform: scale(1.2) rotate(5deg) !important;
}

.elementor-button.elementor-button-link:hover .elementor-button-text {
	color: #3498db !important;
	text-shadow: 0 0 8px rgba(52, 152, 219, 0.3) !important;
	transform: translateX(2px) !important;
}

/* 액티브 효과 */
.elementor-button.elementor-button-link:active {
	transform: translate(0, 0) !important;
	box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.08) !important;
	background: linear-gradient(135deg, #e8e8e0 0%, #d8d8d0 100%) !important;
	border-color: #2980b9 !important;
}

.elementor-button.elementor-button-link:active .elementor-button-icon {
	transform: scale(0.9) !important;
	box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.12), inset 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

/* 포커스 효과 */
.elementor-button.elementor-button-link:focus {
	outline: none !important;
	border-color: #3498db !important;
	box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.12), 0 0 0 3px rgba(52, 152, 219, 0.2) !important;
}

/* 펄스 애니메이션 */
@keyframes iconPulse {
	0%, 100% {
		box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.12), 0 2px 6px rgba(52, 152, 219, 0.3);
	}
	50% {
		box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.12), 0 2px 10px rgba(52, 152, 219, 0.5);
	}
}

.elementor-button-icon {
	animation: iconPulse 2s ease-in-out infinite !important;
}

/* =========================================
   6. PORTFOLIO & FILTERS (포트폴리오 및 필터)
   - 포트폴리오 요소
   - 필터 영역
========================================= */

.sight-portfolio-area-filter {
	margin-top: 15px !important;
}

/* =========================================
   7. ADSENSE (애드센스 광고)
   - 광고 배치 및 정렬
   - 모바일 대응
========================================= */

.adsbygoogle {
	background-color: transparent !important;
	display: block !important;
	margin: 0 auto !important;
	text-align: center !important;
	margin-top: 20px !important;
}

/* =========================================
   8. ABOUT PAGE (About 페이지 전용)
   - About 페이지 레이아웃
   - 타이포그래피
========================================= */

.about1 {
	max-width: 800px !important;
	margin: 0 auto !important;
	padding: 60px 40px !important;
	line-height: 1.8 !important;
	color: #333 !important;
}

/* 첫 번째 단락 (인트로) */
.about1 > p:first-child {
	font-size: 1.125rem !important;
	color: #666 !important;
	margin-bottom: 48px !important;
	line-height: 1.9 !important;
}

/* 제목 스타일 */
.about1 h2 {
	font-size: 1.875rem !important;
	font-weight: 700 !important;
	color: #111 !important;
	margin-top: 64px !important;
	margin-bottom: 24px !important;
	padding-bottom: 12px !important;
	border-bottom: 3px solid #000 !important;
}

.about1 h2:first-of-type {
	margin-top: 0 !important;
}

.about1 h3 {
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	color: #222 !important;
	margin-top: 32px !important;
	margin-bottom: 12px !important;
}

/* 본문 단락 */
.about1 p {
	font-size: 1rem !important;
	margin-bottom: 20px !important;
	line-height: 1.8 !important;
}

/* 강조 텍스트 */
.about1 strong {
	font-weight: 600 !important;
	color: #000 !important;
}

/* 신념 섹션 - 각 항목에 여백 추가 */
.about1 h2:has(+ h3) + h3,
.about1 h3 + p {
	margin-top: 16px !important;
}

/* =========================================
   9. ANIMATIONS (애니메이션)
   - 반짝임 효과
   - 그라디언트 이동
========================================= */

/* 반짝임 애니메이션 */
@keyframes shineEffect {
	0% {
		left: -100%;
		opacity: 0.8;
	}
	50% {
		left: 70%;
		opacity: 0.6;
	}
	100% {
		left: 120%;
		opacity: 0;
	}
}

/* 그라디언트 이동 애니메이션 */
@keyframes gradientMove {
	0% {
		background-position: 0% 0%;
	}
	50% {
		background-position: 0% 100%;
	}
	100% {
		background-position: 0% 0%;
	}
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes gradientSlide {
	0%, 100% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
}

/* =========================================
   10. CONTACT FORM (문의 폼)
   - 무채색 심플 버전
========================================= */

/* 컨택트 폼 전체 컨테이너 */
.cs-contact-form {
	width: 100% !important;
	max-width: 700px !important;
	margin: 60px auto !important;
	padding: 0 20px !important;
}

/* 컨텐츠 래퍼 */
.cs-contact-form__content {
	background: #ffffff !important;
	border-radius: 12px !important;
	padding: 48px !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
	border: 1px solid #e5e7eb !important;
	position: relative !important;
	overflow: hidden !important;
	transition: all 0.3s ease !important;
}

.cs-contact-form__content::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 3px !important;
	background: linear-gradient(90deg, #6b7280 0%, #9ca3af 50%, #6b7280 100%) !important;
}

/* 헤더 섹션 */
.cs-contact-form__header {
	text-align: center !important;
	margin-bottom: 36px !important;
}

/* 메인 제목 */
.cs-contact-form__heading {
	font-size: 32px !important;
	font-weight: 700 !important;
	color: #111827 !important;
	margin-bottom: 12px !important;
	letter-spacing: -0.5px !important;
}

/* 부제목 */
.cs-contact-form__subheading {
	font-size: 18px !important;
	font-weight: 600 !important;
	color: #4b5563 !important;
	margin-bottom: 14px !important;
}

/* 설명 텍스트 */
.cs-contact-form__description {
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: #6b7280 !important;
	max-width: 550px !important;
	margin: 0 auto !important;
}

/* 폼 컨테이너 */
.cs-contact-form__form {
	margin-top: 28px !important;
}

/* wpcf7 폼 기본 스타일 */
.wpcf7-form {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* 라벨 스타일 */
.wpcf7-form label {
	display: block !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	color: #374151 !important;
	margin-bottom: 6px !important;
	letter-spacing: 0.2px !important;
}

/* 입력 필드 공통 스타일 */
.wpcf7-form-control {
	width: 100% !important;
	padding: 12px 16px !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	font-size: 15px !important;
	color: #1f2937 !important;
	background-color: #ffffff !important;
	transition: all 0.3s ease !important;
	font-family: inherit !important;
	box-sizing: border-box !important;
	outline: none !important;
}

.wpcf7-form-control::placeholder {
	color: #9ca3af !important;
}

/* 포커스 상태 */
.wpcf7-form-control:focus {
	border-color: #6b7280 !important;
	background-color: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(107, 114, 128, 0.1) !important;
}

/* 텍스트 에어리어 */
.wpcf7-textarea {
	min-height: 130px !important;
	resize: vertical !important;
	line-height: 1.6 !important;
}

/* 폼 그룹 간격 */
.wpcf7-form p {
	margin-bottom: 20px !important;
}

/* 퀴즈 라벨 */
.wpcf7-quiz-label {
	display: inline-block !important;
	margin-right: 8px !important;
	font-weight: 600 !important;
	color: #4b5563 !important;
}

/* 제출 버튼 */
.wpcf7-submit {
	width: 100% !important;
	background: #374151 !important;
	color: #ffffff !important;
	border: none !important;
	padding: 14px 28px !important;
	border-radius: 6px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
	letter-spacing: 0.3px !important;
}

.wpcf7-submit:hover {
	background: #1f2937 !important;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
	transform: translateY(-1px) !important;
}

.wpcf7-submit:active {
	transform: translateY(0) !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

/* 로딩 스피너 */
.wpcf7-spinner {
	margin-left: 10px !important;
	display: inline-block !important;
	width: 16px !important;
	height: 16px !important;
	border: 2px solid rgba(255, 255, 255, 0.3) !important;
	border-radius: 50% !important;
	border-top-color: #ffffff !important;
	animation: spin 0.8s linear infinite !important;
}

/* 응답 메시지 */
.wpcf7-response-output {
	margin-top: 20px !important;
	padding: 14px 18px !important;
	border-radius: 6px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	border: none !important;
}

/* 성공 메시지 */
.wpcf7-form.sent .wpcf7-response-output {
	background: #d1fae5 !important;
	color: #065f46 !important;
	border-left: 3px solid #10b981 !important;
}

/* 에러 메시지 */
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.invalid .wpcf7-response-output {
	background: #fee2e2 !important;
	color: #991b1b !important;
	border-left: 3px solid #ef4444 !important;
}

/* 유효성 검사 에러 */
.wpcf7-not-valid {
	border-color: #ef4444 !important;
	background-color: #fef2f2 !important;
}

.wpcf7-not-valid:focus {
	box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

/* 숨겨진 필드 */
.hidden-fields-container {
	display: none !important;
}

/* =========================================
   11. DARK MODE (다크모드 전체)
   - 모든 요소 다크모드 대응
   - 일관된 색상 체계
========================================= */

@media (prefers-color-scheme: dark) {
	/* Body & Background */
	html, body {
		background-color: #0f0f0f !important;
		color: #e5e7eb !important;
	}


	/* ==================== TESTIMONIALS DARK MODE ==================== */
	.cs-sight-testimonials {
		background-color: transparent !important;
	}

	.cs-sight-testimonials__element {
		background-color: #1a1a1a !important;
		border: 1px solid #374151 !important;
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4) !important;
	}

	.cs-sight-testimonials__name {
		color: #f9fafb !important;
	}

	.cs-sight-testimonials__position {
		color: #9ca3af !important;
	}

	.cs-sight-testimonials__description {
		color: #d1d5db !important;
	}

	/* ==================== FOOTER DARK MODE ==================== */
	.cs-footer {
		background-color: #0f0f0f !important;
		border-top: 1px solid #374151 !important;
	}

	.cs-footer__copyright {
		color: #9ca3af !important;
	}

	.cs-footer__copyright a {
		color: #60a5fa !important;
	}

	.cs-footer__copyright a:hover {
		color: #818cf8 !important;
	}

	/* ==================== CONTENT1 DARK MODE ==================== */
	.content1 {
		background: #1a1a1a !important;
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4) !important;
		color: #e5e7eb !important;
	}

	.content1:hover {
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
	}

	/* 왼쪽 액센트 라인 - 다크모드용 그라디언트 */
	.content1::before {
		background: linear-gradient(180deg, #60a5fa 0%, #818cf8 100%) !important;
	}

	/* Content1 제목들 */
	.content1 h2 {
		color: #f9fafb !important;
	}

	.content1 h3 {
		color: #f3f4f6 !important;
	}

	.content1 h4 {
		color: #e5e7eb !important;
	}

	/* Content1 본문 */
	.content1 p {
		color: #d1d5db !important;
	}

	.content1 strong {
		color: #f9fafb !important;
	}

	/* Content1 링크 */
	.content1 a {
		color: #60a5fa !important;
		border-bottom-color: rgba(96, 165, 250, 0.3) !important;
	}

	.content1 a:hover {
		color: #818cf8 !important;
		border-bottom-color: rgba(129, 140, 248, 0.5) !important;
	}

	/* Content1 목록 */
	.content1 ul li {
		color: #d1d5db !important;
	}

	.content1 ul li::before {
		background: #60a5fa !important;
	}

	.content1 ul ul li::before {
		background: #6b7280 !important;
	}

	.content1 ol li {
		color: #d1d5db !important;
	}

	.content1 ol li::before {
		color: #60a5fa !important;
	}

	/* Content1 인용구 */
	.content1 blockquote {
		background: #262626 !important;
		border-left-color: #60a5fa !important;
		color: #d1d5db !important;
	}

	/* Content1 코드 */
	.content1 code {
		background: #262626 !important;
		color: #60a5fa !important;
	}

	.content1 pre {
		background: #262626 !important;
	}

	.content1 pre code {
		color: #e5e7eb !important;
	}

	/* Content1 구분선 */
	.content1 hr {
		background: #374151 !important;
	}

	/* Content1 테이블 */
	.content1 table th,
	.content1 table td {
		border-bottom-color: #374151 !important;
	}

	.content1 table th {
		background: #262626 !important;
		color: #f9fafb !important;
	}

	/* ==================== BUTTONS DARK MODE ==================== */
	/* Elementor 헤딩 제목 - 다크모드 */
	.elementor-heading-title {
		color: #f9fafb !important;
	}

	.e-con-full > .elementor-widget-heading .elementor-heading-title {
		color: #f9fafb !important;
	}

	/* 버튼 배경 */
	.elementor-button.elementor-button-link {
		background: linear-gradient(135deg, #262626 0%, #1a1a1a 100%) !important;
		border-color: #3f3f3f !important;
		box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.3), 0 2px 8px rgba(0, 0, 0, 0.2) !important;
	}

	/* 버튼 텍스트 */
	.elementor-button-text {
		color: #e5e7eb !important;
		text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5) !important;
	}

	/* 버튼 아이콘 배경 */
	.elementor-button-icon {
		background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
		border-color: #1d4ed8 !important;
		box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.3), 0 2px 6px rgba(37, 99, 235, 0.4) !important;
	}

	/* 버튼 호버 */
	.elementor-button.elementor-button-link:hover {
		background: linear-gradient(135deg, #1a1a1a 0%, #0f0f0f 100%) !important;
		border-color: #2563eb !important;
		box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.4), 0 4px 12px rgba(37, 99, 235, 0.4) !important;
	}

	.elementor-button.elementor-button-link:hover .elementor-button-icon {
		background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%) !important;
		border-color: #1e40af !important;
		box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.4), 0 3px 10px rgba(37, 99, 235, 0.6) !important;
	}

	.elementor-button.elementor-button-link:hover .elementor-button-text {
		color: #60a5fa !important;
		text-shadow: 0 0 8px rgba(96, 165, 250, 0.4) !important;
	}

	/* 버튼 액티브 */
	.elementor-button.elementor-button-link:active {
		background: linear-gradient(135deg, #0f0f0f 0%, #000000 100%) !important;
		border-color: #1d4ed8 !important;
		box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3), 0 1px 3px rgba(0, 0, 0, 0.2) !important;
	}

	.elementor-button.elementor-button-link:active .elementor-button-icon {
		box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3), inset 0 1px 2px rgba(0, 0, 0, 0.4) !important;
	}

	/* 버튼 포커스 */
	.elementor-button.elementor-button-link:focus {
		border-color: #2563eb !important;
		box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.3), 0 0 0 3px rgba(37, 99, 235, 0.3) !important;
	}

	/* 펄스 애니메이션 - 다크모드 */
	@keyframes iconPulseDark {
		0%, 100% {
			box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.3), 0 2px 6px rgba(37, 99, 235, 0.4);
		}
		50% {
			box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.3), 0 2px 10px rgba(37, 99, 235, 0.6);
		}
	}

	.elementor-button-icon {
		animation: iconPulseDark 2s ease-in-out infinite !important;
	}

	/* 도구 탐색/추천 링크 - 다크모드 */
	.roberin-tools-nav {
		background: #161616 !important;
		border-color: #374151 !important;
		box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35) !important;
	}

	.roberin-tools-nav__label {
		color: #d1d5db !important;
	}

	.roberin-tools-nav a {
		background: #222222 !important;
		border-color: #3f3f3f !important;
		color: #e5e7eb !important;
		box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35) !important;
	}

	.roberin-tools-nav a:hover,
	.roberin-tools-nav a:focus {
		background: #172554 !important;
		border-color: #2563eb !important;
		color: #93c5fd !important;
	}

	.roberin-tool-section-desc {
		color: #9ca3af !important;
	}

	.roberin-featured-links a {
		background: linear-gradient(135deg, #262626 0%, #1a1a1a 100%) !important;
		border-color: #3f3f3f !important;
		color: #e5e7eb !important;
		box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.3), 0 2px 8px rgba(0, 0, 0, 0.2) !important;
	}

	.roberin-featured-links a:hover,
	.roberin-featured-links a:focus {
		background: linear-gradient(135deg, #172554 0%, #111827 100%) !important;
		border-color: #2563eb !important;
		color: #93c5fd !important;
		box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.4), 0 4px 12px rgba(37, 99, 235, 0.35) !important;
	}

	.roberin-tool-subgroup::after {
		background: linear-gradient(90deg, rgba(75, 85, 99, 0.7), rgba(75, 85, 99, 0.12)) !important;
	}

	.roberin-tool-subgroup__title {
		background: transparent !important;
		border-color: transparent !important;
		color: #cbd5e1 !important;
	}


	.roberin-tool-leafgroup::before {
		background: #64748b !important;
	}

	.roberin-tool-leafgroup::after {
		background: linear-gradient(90deg, rgba(75, 85, 99, 0.58), rgba(75, 85, 99, 0.1)) !important;
	}

	.roberin-tool-leafgroup__title {
		color: #94a3b8 !important;
	}

	.roberin-tool-search-toggle__button:hover,
	.roberin-tool-search-toggle__button:focus {
		background: rgba(147, 197, 253, 0.12) !important;
		color: #bfdbfe !important;
	}

	.roberin-tool-search__dialog {
		background: #161616 !important;
		border-color: #374151 !important;
		box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55) !important;
	}

	.roberin-tool-search__close,
	.roberin-tool-search__input,
	.roberin-tool-search__result,
	.roberin-tool-search__empty {
		background: #222222 !important;
		border-color: #3f3f3f !important;
		color: #e5e7eb !important;
	}

	.roberin-tool-search__title {
		color: #f9fafb !important;
	}

	.roberin-tool-search__desc,
	.roberin-tool-search__status,
	.roberin-tool-search__result-meta,
	.roberin-tool-search__empty {
		color: #9ca3af !important;
	}

	.roberin-tool-search__input:focus,
	.roberin-tool-search__result:hover,
	.roberin-tool-search__result:focus,
	.roberin-tool-search__result.is-active {
		background: #172554 !important;
		border-color: #2563eb !important;
		color: #bfdbfe !important;
	}

	/* ==================== ABOUT PAGE DARK MODE ==================== */
	.about1 {
		color: #e5e7eb !important;
	}

	.about1 > p:first-child {
		color: #9ca3af !important;
	}

	.about1 h2 {
		color: #f9fafb !important;
		border-bottom-color: #f9fafb !important;
	}

	.about1 h3 {
		color: #f3f4f6 !important;
	}

	.about1 strong {
		color: #f9fafb !important;
	}

	/* ==================== CONTACT FORM DARK MODE ==================== */
	.cs-contact-form__content {
		background: #1a1a1a !important;
		border-color: #374151 !important;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3) !important;
	}

	.cs-contact-form__content::before {
		background: linear-gradient(90deg, #4b5563 0%, #6b7280 50%, #4b5563 100%) !important;
	}

	.cs-contact-form__heading {
		color: #f9fafb !important;
	}

	.cs-contact-form__subheading {
		color: #d1d5db !important;
	}

	.cs-contact-form__description {
		color: #9ca3af !important;
	}

	.wpcf7-form label {
		color: #e5e7eb !important;
	}

	.wpcf7-form-control {
		background-color: #0f0f0f !important;
		border-color: #4b5563 !important;
		color: #f9fafb !important;
	}

	.wpcf7-form-control::placeholder {
		color: #6b7280 !important;
	}

	.wpcf7-form-control:focus {
		background-color: #0f0f0f !important;
		border-color: #9ca3af !important;
		box-shadow: 0 0 0 3px rgba(156, 163, 175, 0.15) !important;
	}

	.wpcf7-quiz-label {
		color: #d1d5db !important;
	}

	.wpcf7-submit {
		background: #6b7280 !important;
	}

	.wpcf7-submit:hover {
		background: #9ca3af !important;
	}

	.wpcf7-form.sent .wpcf7-response-output {
		background: #064e3b !important;
		color: #6ee7b7 !important;
		border-left-color: #10b981 !important;
	}

	.wpcf7-form.failed .wpcf7-response-output,
	.wpcf7-form.invalid .wpcf7-response-output {
		background: #7f1d1d !important;
		color: #fca5a5 !important;
		border-left-color: #ef4444 !important;
	}

	.wpcf7-not-valid {
		border-color: #f87171 !important;
		background-color: #450a0a !important;
		color: #f9fafb !important;
	}

	.wpcf7-not-valid:focus {
		box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.15) !important;
	}

	/* ==================== HERO SECTION DARK MODE ==================== */
	.cs-hero {
		background-color: transparent !important;
	}

	.cs-hero__heading {
		color: #f9fafb !important;
	}

	.cs-hero__location,
	.cs-hero__location span {
		color: #d1d5db !important;
	}

	.cs-hero__status,
	.cs-hero__status span {
		color: #ef4444 !important;
	}

	.cs-hero__description {
		color: #d1d5db !important;
	}

	.cs-hero__additional-divider {
		background-color: #374151 !important;
	}

	/* ==================== HEADLINE SECTION DARK MODE ==================== */
	.cs-headline__heading,
	.cs-headline__heading span {
		color: #f9fafb !important;
	}

	.cs-headline__subheading {
		color: #d1d5db !important;
	}

	.cs-headline__description {
		color: #9ca3af !important;
	}

	/* ==================== DIVIDER DARK MODE ==================== */
	.cs-divider {
		background-color: #374151 !important;
	}

	.cs-divider-horizontal {
		background-color: #374151 !important;
	}

	/* ==================== TESTIMONIALS DARK MODE ==================== */
	.cs-testimonials {
		background-color: transparent !important;
	}

	.cs-testimonials__item {
		background-color: #1a1a1a !important;
		border-color: #374151 !important;
	}

	.cs-testimonials__title {
		color: #f9fafb !important;
	}

	.cs-testimonials__position {
		color: #9ca3af !important;
	}

	.cs-testimonials__description {
		color: #d1d5db !important;
	}

	.cs-testimonials__image img {
		border-color: #374151 !important;
	}

	/* ==================== ADDITIONAL ELEMENTS DARK MODE ==================== */
	/* 일반 제목 요소 - 전역 적용 */
	.elementor h1,
	.elementor h2,
	.elementor h3,
	.elementor h4,
	.elementor h5,
	.elementor h6 {
		color: #f9fafb !important;
	}

	/* 일반 텍스트 요소 */
	.elementor p:not(.content1 p):not(.about1 p):not(.cs-contact-form__description) {
		color: #d1d5db !important;
	}

	/* 일반 span 요소 */
	.elementor span:not(.elementor-button-text) {
		color: #d1d5db !important;
	}

	/* 일반 링크 */
	.elementor a:not(.elementor-button):not(.content1 a) {
		color: #60a5fa !important;
	}

	.elementor a:not(.elementor-button):not(.content1 a):hover {
		color: #818cf8 !important;
	}
}

/* =========================================
   12. MEDIA QUERIES - DESKTOP (데스크탑 반응형)
   - 1024px 이상
========================================= */

@media screen and (min-width: 1024px) {
	.cs-entry__content-wrap .entry-content {
		max-width: 1180px !important;
		padding: 0px !important;
	}
	.cs-container {
		padding: 0px !important;
	}
}

/* =========================================
   13. MEDIA QUERIES - TABLET (태블릿 반응형)
   - 768px ~ 1023px
========================================= */

@media screen and (min-width: 768px) and (max-width: 1023px) {
	/* 버튼 그리드 */
	.e-grid.e-con:has(.elementor-widget-button) {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 12px !important;
	}

	.elementor-button.elementor-button-link {
		padding: 12px 16px !important;
		border-radius: 9px !important;
		box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.06) !important;
	}

	.elementor-button.elementor-button-link:hover {
		box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.15), 0 3px 10px rgba(52, 152, 219, 0.3) !important;
	}

	.elementor-button-content-wrapper {
		gap: 10px !important;
	}

	.elementor-button-icon {
		width: 32px !important;
		height: 32px !important;
		border-radius: 7px !important;
		box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 5px rgba(52, 152, 219, 0.3) !important;
	}

	.elementor-button-icon svg {
		width: 16px !important;
		height: 16px !important;
	}

	.elementor-button-text {
		font-size: 13px !important;
	}

	.roberin-featured-links {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 9px !important;
	}

	/* About 페이지 */
	.about1 {
		padding: 40px 20px !important;
	}

	.about1 h2 {
		font-size: 1.5rem !important;
		margin-top: 48px !important;
	}

	.about1 h3 {
		font-size: 1.125rem !important;
	}

	.about1 > p:first-child {
		font-size: 1rem !important;
		margin-bottom: 32px !important;
	}
}

/* =========================================
   14. MEDIA QUERIES - MOBILE (모바일 반응형)
   - 최대 1023px
========================================= */

@media screen and (max-width: 1023px) {
	.cs-container {
		padding: 0 5px !important;
	}

	/* Content1 */
	.content1 {
		padding: 32px 24px !important;
		margin: 30px auto !important;
		border-radius: 12px !important;
	}

	.content1 h2 {
		font-size: 24px !important;
		margin-bottom: 20px !important;
	}

	.content1 h3 {
		font-size: 20px !important;
		margin: 28px 0 14px 0 !important;
	}

	.content1 h4 {
		font-size: 17px !important;
		margin: 20px 0 10px 0 !important;
	}

	.content1 p {
		font-size: 15px !important;
		margin-bottom: 18px !important;
	}

	.content1 ul li {
		padding-left: 24px !important;
		margin-bottom: 10px !important;
	}

	.content1 ol li {
		padding-left: 28px !important;
		margin-bottom: 10px !important;
	}
}

@media (max-width: 767px) {
	/* 레이아웃 */
	.cs-entry__container,
	.entry-content,
	.cs-entry__content-wrap,
	.exchange-calc-wrapper,
	.wp-block-group__inner-container {
		max-width: 100% !important;
	}

	.entry-content .elementor-645,
	.entry-content .e-con-boxed,
	.entry-content .e-con-inner,
	.entry-content .elementor-widget-container,
	.entry-content .sight-portfolio-area__outer,
	.entry-content .sight-block-portfolio-id-037858f {
		max-width: 100% !important;
	}

	.entry-content .sight-portfolio-entry-outer {
		max-width: 100% !important;
	}

	/* 버튼 그리드 */
	.e-grid.e-con:has(.elementor-widget-button) {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px !important;
	}

	.elementor-button.elementor-button-link {
		padding: 11px 14px !important;
		border-radius: 8px !important;
		box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.06) !important;
	}

	.elementor-button.elementor-button-link:hover {
		box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.15), 0 3px 10px rgba(52, 152, 219, 0.3) !important;
	}

	.elementor-button-content-wrapper {
		gap: 9px !important;
	}

	.elementor-button-icon {
		width: 30px !important;
		height: 30px !important;
		border-radius: 6px !important;
		box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 5px rgba(52, 152, 219, 0.3) !important;
	}

	.elementor-button-icon svg {
		width: 15px !important;
		height: 15px !important;
	}

	.elementor-button-text {
		font-size: 13px !important;
	}

	.roberin-tools-nav {
		margin: 14px auto 24px !important;
		padding: 14px !important;
		border-radius: 14px !important;
	}

	.roberin-tools-nav__chips {
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		padding-bottom: 4px !important;
	}

	.roberin-tools-nav a {
		min-height: 34px !important;
		padding: 8px 12px !important;
		font-size: 13px !important;
	}

	.roberin-tool-section-desc {
		margin: -6px auto 16px !important;
		padding: 0 10px !important;
		font-size: 14px !important;
	}

	.roberin-featured-links {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 9px !important;
	}

	.roberin-featured-links a {
		min-height: 44px !important;
		padding: 11px 13px !important;
		font-size: 13px !important;
	}

	/* 애드센스 */
	.adsbygoogle {
		width: 100vw !important;
		max-width: 100vw !important;
		margin-left: calc(-50vw + 50%) !important;
		margin-right: calc(-50vw + 50%) !important;
	}

	.ad-section {
		overflow: visible !important;
	}

	/* Contact Form */
	.cs-contact-form {
		margin: 30px auto !important;
		padding: 0 15px !important;
	}

	.cs-contact-form__content {
		padding: 28px 24px !important;
		border-radius: 10px !important;
	}

	.cs-contact-form__header {
		margin-bottom: 28px !important;
	}

	.cs-contact-form__heading {
		font-size: 26px !important;
	}

	.cs-contact-form__subheading {
		font-size: 15px !important;
	}

	.cs-contact-form__description {
		font-size: 13px !important;
	}

	.wpcf7-form-control {
		padding: 11px 14px !important;
		font-size: 14px !important;
	}

	.wpcf7-textarea {
		min-height: 110px !important;
	}

	.wpcf7-submit {
		padding: 13px 24px !important;
		font-size: 14px !important;
	}

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

/* =========================================
   15. MEDIA QUERIES - SMALL MOBILE (소형 모바일)
   - 최대 480px
========================================= */

@media screen and (max-width: 480px) {
	/* Content1 */
	.content1 {
		padding: 24px 20px !important;
		margin: 24px auto !important;
		border-radius: 10px !important;
	}

	.content1 h2 {
		font-size: 22px !important;
		margin-bottom: 18px !important;
	}

	.content1 h3 {
		font-size: 19px !important;
		margin: 24px 0 12px 0 !important;
	}

	.content1 h4 {
		font-size: 16px !important;
		margin: 18px 0 10px 0 !important;
	}

	.content1 p {
		font-size: 15px !important;
		margin-bottom: 16px !important;
		line-height: 1.7 !important;
	}

	.content1 ul li {
		padding-left: 22px !important;
		margin-bottom: 9px !important;
		font-size: 15px !important;
	}

	.content1 ol li {
		padding-left: 26px !important;
		margin-bottom: 9px !important;
		font-size: 15px !important;
	}

	.content1 ul li::before {
		top: 10px !important;
		width: 5px !important;
		height: 5px !important;
	}

	.content1 blockquote {
		padding: 16px 20px !important;
		margin: 20px 0 !important;
	}

	.content1 code {
		font-size: 13px !important;
	}

	.content1 pre {
		padding: 16px !important;
	}

	/* 버튼 그리드 */
	.e-grid.e-con:has(.elementor-widget-button) {
		gap: 9px !important;
	}

	.elementor-button.elementor-button-link {
		padding: 10px 12px !important;
		border-radius: 7px !important;
		box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 5px rgba(0, 0, 0, 0.06) !important;
	}

	.elementor-button.elementor-button-link:hover {
		box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.15), 0 3px 8px rgba(52, 152, 219, 0.3) !important;
	}

	.elementor-button-content-wrapper {
		gap: 8px !important;
	}

	.elementor-button-icon {
		width: 28px !important;
		height: 28px !important;
		border-radius: 6px !important;
		box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 4px rgba(52, 152, 219, 0.3) !important;
	}

	.elementor-button-icon svg {
		width: 14px !important;
		height: 14px !important;
	}

	.elementor-button-text {
		font-size: 12px !important;
	}

	.roberin-tools-nav {
		padding: 12px !important;
	}

	.roberin-tools-nav__label {
		font-size: 13px !important;
	}

	.roberin-tools-nav a {
		font-size: 12px !important;
	}

	.roberin-featured-links a {
		font-size: 12px !important;
	}

	.roberin-tool-subgroup {
		gap: 8px !important;
		margin: 18px 0 6px !important;
	}

	.roberin-tool-subgroup__title {
		font-size: 12px !important;
		min-height: 24px !important;
		padding: 3px 0 !important;
	}


	.roberin-tool-leafgroup {
		gap: 6px !important;
		margin: 8px 0 1px !important;
		padding-left: 8px !important;
	}

	.roberin-tool-leafgroup__title {
		font-size: 11px !important;
		min-height: 20px !important;
	}

	.roberin-tool-search {
		align-items: flex-start !important;
		padding: 12px !important;
	}

	.roberin-tool-search__dialog {
		max-height: calc(100vh - 24px) !important;
		padding: 22px 16px 16px !important;
		border-radius: 18px !important;
	}

	.roberin-tool-search__header {
		padding-right: 40px !important;
	}

	.roberin-tool-search__input {
		height: 52px !important;
		font-size: 16px !important;
	}

	.roberin-tool-search__results {
		max-height: calc(100vh - 245px) !important;
	}

	.roberin-tool-search__result {
		flex-direction: column !important;
		gap: 5px !important;
		padding: 12px !important;
	}

	.roberin-tool-search__result-meta {
		max-width: none !important;
		text-align: left !important;
	}

	/* Contact Form */
	.cs-contact-form {
		padding: 10px 5px !important;
	}

	.cs-contact-form__content {
		padding: 24px 15px !important;
	}

	.cs-contact-form__heading {
		font-size: 24px !important;
	}

	.cs-contact-form__subheading {
		font-size: 14px !important;
	}

	.cs-contact-form__description {
		font-size: 13px !important;
	}
}

/* =========================================
   16. ACCESSIBILITY & TOUCH OPTIMIZATION (접근성 및 터치 최적화)
   - 터치 디바이스 대응
   - 애니메이션 감소 모드
========================================= */

/* 터치 디바이스 최적화 */
@media (hover: none) and (pointer: coarse) {
	.elementor-button-icon {
		animation: none !important;
	}

	.elementor-button.elementor-button-link:hover {
		transform: none !important;
		background: linear-gradient(135deg, #ffffff 0%, #f5f5f0 100%) !important;
		border-color: #555555 !important;
		box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06) !important;
	}

	.elementor-button.elementor-button-link:hover::after {
		left: -100% !important;
	}

	.elementor-button.elementor-button-link:hover .elementor-button-icon {
		background: linear-gradient(135deg, #3498db 0%, #2980b9 100%) !important;
		border-color: #2980b9 !important;
		transform: none !important;
		box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.12), 0 2px 6px rgba(52, 152, 219, 0.3) !important;
	}

	.elementor-button.elementor-button-link:hover .elementor-button-icon::before {
		left: -100% !important;
	}

	.elementor-button.elementor-button-link:hover .elementor-button-icon svg {
		transform: none !important;
	}

	.elementor-button.elementor-button-link:hover .elementor-button-text {
		color: #222222 !important;
		text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) !important;
		transform: none !important;
	}

	.elementor-button.elementor-button-link:active {
		background: linear-gradient(135deg, #e8e8e0 0%, #d8d8d0 100%) !important;
		border-color: #3498db !important;
		transform: scale(0.97) !important;
		box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.08) !important;
	}

	/* 다크모드 + 터치 디바이스 */
	@media (prefers-color-scheme: dark) {
		.elementor-button.elementor-button-link:hover {
			background: linear-gradient(135deg, #262626 0%, #1a1a1a 100%) !important;
			border-color: #3f3f3f !important;
		}

		.elementor-button.elementor-button-link:hover .elementor-button-icon {
			background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
			border-color: #1d4ed8 !important;
		}

		.elementor-button.elementor-button-link:hover .elementor-button-text {
			color: #e5e7eb !important;
			text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5) !important;
		}

		.elementor-button.elementor-button-link:active {
			background: linear-gradient(135deg, #0f0f0f 0%, #000000 100%) !important;
			border-color: #1d4ed8 !important;
		}
	}
}

/* 애니메이션 감소 모드 */
@media (prefers-reduced-motion: reduce) {
	.elementor-button.elementor-button-link,
	.elementor-button-icon,
	.elementor-button-icon svg,
	.elementor-button-text,
	.elementor-button.elementor-button-link::after,
	.elementor-button-icon::before,
	.roberin-tool-search__dialog,
	.roberin-tool-search__result,
	.cs-header__scheme-toggle,
	.roberin-tool-search-toggle__button {
		transition: none !important;
		animation: none !important;
	}
}

.cs-header__toggle.cs-header__scheme-toggle.cs-site-scheme-toggle {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}


/* =========================================
   ROBERIN header width 950
   - 홈/projects 본문 폭과 헤더 폭을 950px로 맞춤
   - 2026-05-03
========================================= */
body .cs-header.cs-header-stretch .cs-header__outer > .cs-container,
body .cs-header.cs-header-stretch .cs-header__inner,
.cs-header .cs-container,
.cs-header__outer > .cs-container {
	max-width: 950px !important;
}

/* =========================================
   ROBERIN ROBERIN ARTICLE BODY
   - Neutral article body class replacing legacy content1 wrappers
   - warm retro paper/grid style for readable long-form tool content
   - 2026-05-03
========================================= */
.roberin-article-body {
	--seo-paper: #efe2d0;
	--seo-panel: #f8efe2;
	--seo-ink: #34281f;
	--seo-muted: #574838;
	--seo-line: #6b5745;
	--seo-accent: #bf7358;
	--seo-blue: #668da1;
	--seo-green: #6f946a;
	--seo-yellow: #ddbf6f;
	width: 100% !important;
	max-width: 950px !important;
	box-sizing: border-box !important;
	margin: 28px auto 40px !important;
	padding: 30px 34px !important;
	background:
		linear-gradient(90deg, rgba(107, 87, 69, 0.035) 1px, transparent 1px) 0 0 / 14px 14px,
		linear-gradient(0deg, rgba(107, 87, 69, 0.030) 1px, transparent 1px) 0 0 / 14px 14px,
		var(--seo-panel) !important;
	border: 2px solid var(--seo-line) !important;
	border-radius: 0 !important;
	box-shadow: 4px 4px 0 rgba(82, 65, 50, 0.42) !important;
	color: var(--seo-ink) !important;
	font-family: 'Noto Sans KR', 'Malgun Gothic', -apple-system, BlinkMacSystemFont, sans-serif !important;
	font-size: 16px !important;
	line-height: 1.78 !important;
	word-break: keep-all !important;
	overflow-wrap: break-word !important;
}

.roberin-article-body > *:first-child {
	margin-top: 0 !important;
}

.roberin-article-body > *:last-child {
	margin-bottom: 0 !important;
}

.roberin-article-body h2,
.roberin-article-body h3,
.roberin-article-body h4 {
	color: var(--seo-ink) !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	letter-spacing: -0.02em !important;
}

.roberin-article-body h2 {
	margin: 34px 0 16px !important;
	padding: 9px 12px !important;
	font-size: 24px !important;
	background: #e2edd8 !important;
	border: 2px solid var(--seo-line) !important;
	box-shadow: 3px 3px 0 rgba(82, 65, 50, 0.30) !important;
}

.roberin-article-body h3 {
	margin: 26px 0 12px !important;
	padding-bottom: 7px !important;
	font-size: 19px !important;
	border-bottom: 2px solid rgba(107, 87, 69, 0.55) !important;
}

.roberin-article-body h4 {
	margin: 20px 0 10px !important;
	font-size: 17px !important;
	color: #4d3c2f !important;
}

.roberin-article-body p {
	margin: 0 0 16px !important;
	color: var(--seo-muted) !important;
	font-size: 16px !important;
	line-height: 1.78 !important;
}

.roberin-article-body strong {
	color: var(--seo-ink) !important;
	font-weight: 800 !important;
}

.roberin-article-body a {
	color: #4f7d94 !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	border-bottom: 2px solid rgba(102, 141, 161, 0.35) !important;
}

.roberin-article-body a:hover {
	color: var(--seo-accent) !important;
	border-bottom-color: rgba(191, 115, 88, 0.55) !important;
}

.roberin-article-body ul,
.roberin-article-body ol {
	margin: 16px 0 20px !important;
	padding: 0 !important;
	list-style: none !important;
}

.roberin-article-body li {
	position: relative !important;
	margin: 0 0 10px !important;
	padding-left: 28px !important;
	color: var(--seo-muted) !important;
	line-height: 1.72 !important;
}

.roberin-article-body ul li::before {
	content: '■' !important;
	position: absolute !important;
	left: 2px !important;
	top: 0.08em !important;
	color: var(--seo-accent) !important;
	font-size: 10px !important;
	line-height: 1.7 !important;
}

.roberin-article-body ol {
	counter-reset: seo-item !important;
}

.roberin-article-body ol li {
	counter-increment: seo-item !important;
}

.roberin-article-body ol li::before {
	content: counter(seo-item) !important;
	position: absolute !important;
	left: 0 !important;
	top: 0.1em !important;
	width: 18px !important;
	height: 18px !important;
	background: var(--seo-yellow) !important;
	border: 1px solid var(--seo-line) !important;
	color: var(--seo-ink) !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 16px !important;
	text-align: center !important;
	box-shadow: 1px 1px 0 rgba(82, 65, 50, 0.32) !important;
}

.roberin-article-body blockquote {
	margin: 22px 0 !important;
	padding: 16px 18px !important;
	background: #fff4dd !important;
	border: 2px solid var(--seo-line) !important;
	box-shadow: 3px 3px 0 rgba(82, 65, 50, 0.30) !important;
	color: var(--seo-muted) !important;
}

.roberin-article-body code {
	padding: 2px 6px !important;
	background: #fff4dd !important;
	border: 1px solid rgba(107, 87, 69, 0.45) !important;
	color: #8b4f3f !important;
	font-family: 'Courier New', monospace !important;
	font-size: 0.92em !important;
}

.roberin-article-body table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin: 20px 0 !important;
	background: #fff9ee !important;
	border: 2px solid var(--seo-line) !important;
}

.roberin-article-body th,
.roberin-article-body td {
	padding: 10px 12px !important;
	border: 1px solid rgba(107, 87, 69, 0.45) !important;
	text-align: left !important;
}

.roberin-article-body th {
	background: #e2edd8 !important;
	color: var(--seo-ink) !important;
	font-weight: 800 !important;
}

.roberin-leaderboard-ad {
	width: 100% !important;
	max-width: 950px !important;
	margin: 24px auto 26px !important;
	padding: 10px !important;
	box-sizing: border-box !important;
	text-align: center !important;
	overflow: hidden !important;
}

.roberin-leaderboard-ad .adsbygoogle {
	display: inline-block !important;
	max-width: 100% !important;
}

@media (max-width: 768px) {
	.roberin-article-body {
		max-width: calc(100% - 10px) !important;
		margin: 24px 5px 32px !important;
		padding: 22px 18px !important;
		font-size: 15px !important;
	}

	.roberin-article-body h2 {
		font-size: 21px !important;
		padding: 8px 10px !important;
	}

	.roberin-article-body h3 {
		font-size: 18px !important;
	}

	.roberin-article-body p,
	.roberin-article-body li {
		font-size: 15px !important;
	}

	.roberin-leaderboard-ad {
		max-width: calc(100% - 10px) !important;
		margin: 20px 5px 22px !important;
		padding: 8px 0 !important;
	}
}

/* =========================================
   ROBERIN global header - approved compact retro inner bar
   - Keep outer header on site-global background
   - Keep logo clean: no dark badge, no border
   - 2026-05-03
========================================= */
body .cs-header.cs-header-stretch,
body .cs-header {
	background: #fff !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
}

body .cs-header__outer {
	padding: 5px 0 !important;
	background: transparent !important;
}

body .cs-header.cs-header-stretch .cs-header__outer > .cs-container,
body .cs-header .cs-container,
body .cs-header__outer > .cs-container {
	width: 100% !important;
	max-width: 950px !important;
	box-sizing: border-box !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body .cs-header__inner {
	min-height: 44px !important;
	box-sizing: border-box !important;
	padding: 4px 10px !important;
	background:
		linear-gradient(90deg, rgba(107, 87, 69, 0.026) 1px, transparent 1px) 0 0 / 14px 14px,
		linear-gradient(0deg, rgba(107, 87, 69, 0.023) 1px, transparent 1px) 0 0 / 14px 14px,
		#f8efe2 !important;
	border: 2px solid #6b5745 !important;
	border-radius: 0 !important;
	box-shadow: 3px 3px 0 rgba(82, 65, 50, 0.28) !important;
}

body .cs-header__inner-desktop .cs-header__col {
	min-width: 0 !important;
}

body .cs-header__inner-desktop .cs-col-left,
body .cs-header__inner-desktop .cs-col-right {
	flex: 1 1 0 !important;
}

body .cs-header__inner-desktop .cs-col-center {
	flex: 0 0 auto !important;
}

body .cs-header__main-nav,
body .cs-header__menu {
	display: flex !important;
	align-items: center !important;
}

body .cs-header__menu {
	gap: 7px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body .cs-header__menu li {
	margin: 0 !important;
	padding: 0 !important;
}

body .cs-header__menu a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 28px !important;
	padding: 6px 9px !important;
	color: #34281f !important;
	background: #fff8ed !important;
	border: 2px solid #6b5745 !important;
	border-radius: 0 !important;
	box-shadow: 2px 2px 0 rgba(82, 65, 50, 0.22) !important;
	font-size: 12px !important;
	line-height: 1.1 !important;
	font-weight: 900 !important;
	letter-spacing: -0.01em !important;
	text-decoration: none !important;
	transition: transform 120ms ease, box-shadow 120ms ease, background-color 120ms ease !important;
}

body .cs-header__menu a:hover {
	background: #e2edd8 !important;
	color: #34281f !important;
	transform: translate(1px, 1px) !important;
	box-shadow: 1px 1px 0 rgba(82, 65, 50, 0.26) !important;
}

body .cs-header__logo-outer,
body .cs-logo {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

body .cs-header__logo {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body .cs-logo .cs-logo-default {
	display: none !important;
}

body .cs-logo .cs-logo-dark {
	display: inline-flex !important;
}

body .cs-header__logo img {
	display: block !important;
	width: 116px !important;
	max-width: 116px !important;
	height: auto !important;
}

body .cs-header__toggles {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 7px !important;
}

body .cs-header__toggle,
body .cs-header__scheme-toggle,
body .roberin-tool-search-toggle__button,
body .cs-lang-current,
body .cs-mobile-menu-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 30px !important;
	height: 30px !important;
	min-width: 30px !important;
	min-height: 30px !important;
	padding: 0 !important;
	color: #34281f !important;
	background: #e2edd8 !important;
	border: 2px solid #6b5745 !important;
	border-radius: 0 !important;
	box-shadow: 2px 2px 0 rgba(82, 65, 50, 0.23) !important;
	cursor: pointer !important;
	transition: transform 120ms ease, box-shadow 120ms ease, background-color 120ms ease !important;
}

body .cs-header__toggle:hover,
body .cs-header__scheme-toggle:hover,
body .roberin-tool-search-toggle__button:hover,
body .cs-lang-current:hover,
body .cs-mobile-menu-button:hover {
	background: #ddbf6f !important;
	color: #34281f !important;
	transform: translate(1px, 1px) !important;
	box-shadow: 1px 1px 0 rgba(82, 65, 50, 0.26) !important;
}

body .cs-header__toggle i,
body .roberin-tool-search-toggle__button i,
body .cs-lang-current svg,
body .cs-mobile-menu-button svg {
	width: 15px !important;
	height: 15px !important;
	font-size: 15px !important;
	line-height: 1 !important;
	color: currentColor !important;
	stroke: currentColor !important;
}

body .cs-lang-switcher,
body .cs-mobile-menu-toggle {
	position: relative !important;
}

body .cs-lang-dropdown,
body .cs-mobile-menu-dropdown {
	min-width: 168px !important;
	margin-top: 8px !important;
	padding: 8px !important;
	background:
		linear-gradient(90deg, rgba(107, 87, 69, 0.035) 1px, transparent 1px) 0 0 / 14px 14px,
		linear-gradient(0deg, rgba(107, 87, 69, 0.030) 1px, transparent 1px) 0 0 / 14px 14px,
		#f8efe2 !important;
	border: 2px solid #6b5745 !important;
	border-radius: 0 !important;
	box-shadow: 4px 4px 0 rgba(82, 65, 50, 0.30) !important;
}

body .cs-lang-dropdown li,
body .cs-mobile-menu-dropdown li {
	margin: 0 !important;
	padding: 0 !important;
}

body .cs-lang-dropdown a,
body .cs-mobile-menu-dropdown a {
	display: block !important;
	padding: 8px 9px !important;
	color: #34281f !important;
	font-size: 12px !important;
	line-height: 1.25 !important;
	font-weight: 900 !important;
	text-decoration: none !important;
}

body .cs-lang-dropdown li.active a,
body .cs-lang-dropdown a:hover,
body .cs-mobile-menu-dropdown a:hover {
	background: #e2edd8 !important;
	color: #34281f !important;
}

body .cs-header-overlay {
	background: rgba(52, 40, 31, 0.18) !important;
}

@media (max-width: 768px) {
	body .cs-header__outer {
		padding-top: 5px !important;
		padding-bottom: 5px !important;
	}

	body .cs-header.cs-header-stretch .cs-header__outer > .cs-container,
	body .cs-header .cs-container,
	body .cs-header__outer > .cs-container {
		width: calc(100% - 10px) !important;
		max-width: calc(100% - 10px) !important;
	}

	body .cs-header__inner {
		min-height: 44px !important;
		padding: 4px 6px !important;
	}

	body .cs-header__inner-mobile .cs-col-left,
	body .cs-header__inner-mobile .cs-col-right {
		flex: 1 1 0 !important;
		min-width: 0 !important;
	}

	body .cs-header__inner-mobile .cs-col-center {
		flex: 0 0 auto !important;
		min-width: 0 !important;
	}

	body .cs-header__logo img {
		width: 96px !important;
		max-width: 96px !important;
	}

	body .cs-header__toggles {
		gap: 5px !important;
	}

	body .cs-header__toggle,
	body .cs-header__scheme-toggle,
	body .roberin-tool-search-toggle__button,
	body .cs-lang-current,
	body .cs-mobile-menu-button {
		width: 28px !important;
		height: 28px !important;
		min-width: 28px !important;
		min-height: 28px !important;
	}

	body .cs-lang-dropdown,
	body .cs-mobile-menu-dropdown {
		min-width: 150px !important;
		max-width: calc(100vw - 20px) !important;
	}

	body .cs-lang-dropdown {
		right: 0 !important;
		left: auto !important;
	}
}

/* Header mobile width correction: inner bar must stay inside its container. */
body .cs-header__inner {
	width: 100% !important;
	max-width: 100% !important;
}

body .cs-header__inner-mobile {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Header logo title/text color correction: keep logo/title text black. */
body .cs-header__logo,
body .cs-header__logo:visited,
body .cs-header__logo:hover,
body .cs-header__logo:focus,
body .cs-header__logo span,
body .cs-header__logo .cs-logo-title,
body .cs-logo a {
	color: #111111 !important;
	-webkit-text-fill-color: #111111 !important;
}

body .cs-header__logo img {
	filter: none !important;
}

/* Header logo asset correction: on the light/global header, show the black-wordmark asset. */
body .cs-logo .cs-logo-default {
	display: inline-flex !important;
}

body .cs-logo .cs-logo-dark {
	display: none !important;
}

body .cs-header__logo.cs-logo-default,
body .cs-header__logo.cs-logo-default:visited,
body .cs-header__logo.cs-logo-default:hover,
body .cs-header__logo.cs-logo-default:focus {
	color: #111111 !important;
	-webkit-text-fill-color: #111111 !important;
}

body .cs-header__logo.cs-logo-default img {
	filter: none !important;
}

/* =========================================
   ROBERIN tool search modal - compact warm retro redesign
   - Keep modal bright, compact, and consistent with approved header/tool design
   - 2026-05-03
========================================= */
html.roberin-tool-search-open,
body.roberin-tool-search-open {
	overflow: hidden !important;
}

.roberin-tool-search[hidden] {
	display: none !important;
}

.roberin-tool-search {
	position: fixed !important;
	inset: 0 !important;
	z-index: 99999 !important;
	display: flex !important;
	align-items: flex-start !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	padding: clamp(12px, 6vh, 54px) 12px 12px !important;
}

.roberin-tool-search__backdrop {
	position: absolute !important;
	inset: 0 !important;
	background: rgba(52, 40, 31, 0.36) !important;
	backdrop-filter: blur(6px) !important;
	-webkit-backdrop-filter: blur(6px) !important;
}

.roberin-tool-search__dialog {
	position: relative !important;
	z-index: 1 !important;
	width: min(640px, calc(100vw - 24px)) !important;
	max-width: 640px !important;
	max-height: calc(100dvh - 24px) !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	padding: 18px !important;
	background:
		linear-gradient(90deg, rgba(107, 87, 69, 0.030) 1px, transparent 1px) 0 0 / 14px 14px,
		linear-gradient(0deg, rgba(107, 87, 69, 0.026) 1px, transparent 1px) 0 0 / 14px 14px,
		#f8efe2 !important;
	border: 2px solid #6b5745 !important;
	border-radius: 0 !important;
	box-shadow: 5px 5px 0 rgba(82, 65, 50, 0.30) !important;
	color: #34281f !important;
	animation: roberinToolSearchRetroIn 0.16s ease-out !important;
}

.roberin-tool-search__dialog::before {
	content: "" !important;
	position: absolute !important;
	inset: 6px !important;
	z-index: -1 !important;
	border: 1px solid rgba(107, 87, 69, 0.22) !important;
	pointer-events: none !important;
}

.roberin-tool-search__close {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 30px !important;
	height: 30px !important;
	min-width: 30px !important;
	min-height: 30px !important;
	padding: 0 !important;
	background: #fff8ed !important;
	border: 2px solid #6b5745 !important;
	border-radius: 0 !important;
	box-shadow: 2px 2px 0 rgba(82, 65, 50, 0.24) !important;
	color: #34281f !important;
	cursor: pointer !important;
	transition: transform 120ms ease, box-shadow 120ms ease, background-color 120ms ease !important;
}

.roberin-tool-search__close:hover,
.roberin-tool-search__close:focus {
	background: #ddbf6f !important;
	color: #34281f !important;
	outline: none !important;
	transform: translate(1px, 1px) !important;
	box-shadow: 1px 1px 0 rgba(82, 65, 50, 0.28) !important;
}

.roberin-tool-search__close:focus-visible {
	outline: 2px solid #34281f !important;
	outline-offset: 2px !important;
}

.roberin-tool-search__close .cs-icon {
	font-size: 14px !important;
	line-height: 1 !important;
}

.roberin-tool-search__header {
	padding: 0 42px 12px 0 !important;
	margin: 0 0 12px !important;
	border-bottom: 2px solid rgba(107, 87, 69, 0.26) !important;
}

.roberin-tool-search__title {
	display: inline-flex !important;
	align-items: center !important;
	margin: 0 0 7px !important;
	padding: 5px 9px !important;
	background: #e2edd8 !important;
	border: 2px solid #6b5745 !important;
	border-radius: 0 !important;
	box-shadow: 2px 2px 0 rgba(82, 65, 50, 0.20) !important;
	color: #34281f !important;
	font-size: 18px !important;
	font-weight: 900 !important;
	letter-spacing: -0.02em !important;
	line-height: 1.15 !important;
}

.roberin-tool-search__desc {
	max-width: 520px !important;
	margin: 0 !important;
	color: #574838 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.55 !important;
	letter-spacing: -0.01em !important;
}

.roberin-tool-search__field {
	display: block !important;
	margin: 0 !important;
}

.roberin-tool-search__input {
	width: 100% !important;
	height: 44px !important;
	box-sizing: border-box !important;
	padding: 0 12px !important;
	background: #fff8ed !important;
	border: 2px solid #6b5745 !important;
	border-radius: 0 !important;
	box-shadow: inset 2px 2px 0 rgba(82, 65, 50, 0.10) !important;
	color: #34281f !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	letter-spacing: -0.01em !important;
	line-height: 1.2 !important;
	-webkit-text-fill-color: #34281f !important;
}

.roberin-tool-search__input::placeholder {
	color: rgba(87, 72, 56, 0.72) !important;
	font-weight: 800 !important;
	-webkit-text-fill-color: rgba(87, 72, 56, 0.72) !important;
}

.roberin-tool-search__input:focus {
	background: #fffaf2 !important;
	border-color: #34281f !important;
	box-shadow: inset 2px 2px 0 rgba(82, 65, 50, 0.10), 0 0 0 3px rgba(226, 237, 216, 0.95) !important;
	outline: none !important;
}

.roberin-tool-search__status {
	min-height: 16px !important;
	margin: 9px 2px 7px !important;
	color: #6b5745 !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	line-height: 1.35 !important;
	letter-spacing: -0.01em !important;
}

.roberin-tool-search__results {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 7px !important;
	max-height: min(410px, calc(100dvh - 220px)) !important;
	overflow: auto !important;
	padding: 1px 5px 2px 1px !important;
	scrollbar-color: #6b5745 #efe2d0 !important;
}

.roberin-tool-search__result {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	box-sizing: border-box !important;
	min-height: 42px !important;
	padding: 9px 10px !important;
	background: #fff8ed !important;
	border: 2px solid #6b5745 !important;
	border-radius: 0 !important;
	box-shadow: 2px 2px 0 rgba(82, 65, 50, 0.16) !important;
	color: #34281f !important;
	text-decoration: none !important;
	transition: transform 120ms ease, box-shadow 120ms ease, background-color 120ms ease !important;
}

.roberin-tool-search__result:hover,
.roberin-tool-search__result:focus,
.roberin-tool-search__result.is-active {
	background: #e2edd8 !important;
	border-color: #34281f !important;
	color: #34281f !important;
	outline: none !important;
	transform: translate(1px, 1px) !important;
	box-shadow: 1px 1px 0 rgba(82, 65, 50, 0.22) !important;
}

.roberin-tool-search__result:focus-visible {
	outline: 2px solid #34281f !important;
	outline-offset: 2px !important;
}

.roberin-tool-search__result-title {
	min-width: 0 !important;
	color: #34281f !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 1.28 !important;
	letter-spacing: -0.01em !important;
}

.roberin-tool-search__result-title mark {
	padding: 0 2px !important;
	background: #ddbf6f !important;
	border: 1px solid rgba(107, 87, 69, 0.32) !important;
	border-radius: 0 !important;
	color: #34281f !important;
}

.roberin-tool-search__result-meta {
	flex: 0 0 auto !important;
	max-width: 46% !important;
	color: #80684e !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
	text-align: right !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.roberin-tool-search__empty {
	margin: 0 !important;
	padding: 18px 12px !important;
	background: #fff8ed !important;
	border: 2px dashed #6b5745 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #6b5745 !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 1.5 !important;
	text-align: center !important;
}

@keyframes roberinToolSearchRetroIn {
	from {
		opacity: 0;
		transform: translateY(6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 768px) {
	.roberin-tool-search {
		align-items: flex-start !important;
		padding: 10px 5px !important;
	}

	.roberin-tool-search__dialog {
		width: calc(100vw - 10px) !important;
		max-width: calc(100vw - 10px) !important;
		max-height: calc(100dvh - 20px) !important;
		padding: 14px !important;
		box-shadow: 3px 3px 0 rgba(82, 65, 50, 0.28) !important;
	}

	.roberin-tool-search__dialog::before {
		inset: 5px !important;
	}

	.roberin-tool-search__close {
		top: 10px !important;
		right: 10px !important;
		width: 28px !important;
		height: 28px !important;
		min-width: 28px !important;
		min-height: 28px !important;
	}

	.roberin-tool-search__header {
		padding-right: 36px !important;
		padding-bottom: 10px !important;
		margin-bottom: 10px !important;
	}

	.roberin-tool-search__title {
		margin-bottom: 6px !important;
		padding: 4px 8px !important;
		font-size: 16px !important;
	}

	.roberin-tool-search__desc {
		font-size: 12px !important;
		line-height: 1.45 !important;
	}

	.roberin-tool-search__input {
		height: 41px !important;
		padding: 0 10px !important;
		font-size: 12px !important;
	}

	.roberin-tool-search__status {
		margin-top: 8px !important;
		font-size: 11px !important;
	}

	.roberin-tool-search__results {
		max-height: calc(100dvh - 205px) !important;
		gap: 6px !important;
		padding-right: 2px !important;
	}

	.roberin-tool-search__result {
		align-items: flex-start !important;
		flex-direction: column !important;
		gap: 4px !important;
		min-height: 0 !important;
		padding: 8px 9px !important;
	}

	.roberin-tool-search__result-title {
		font-size: 13px !important;
	}

	.roberin-tool-search__result-meta {
		max-width: 100% !important;
		font-size: 10px !important;
		text-align: left !important;
		white-space: normal !important;
	}
}

/* =========================================
   ROBERIN global page background - warm paper color
   - Site-wide background now matches the approved bright retro palette
   - 2026-05-03
========================================= */
:root,
[data-scheme="light"] {
	--cs-site-background: #efe2d0 !important;
	--cs-layout-background: #f8efe2 !important;
	--cs-header-background: #efe2d0 !important;
}

html,
body,
body .cs-wrapper,
body .cs-site,
body .cs-site-inner,
body .cs-site-primary,
body .cs-site-content {
	background-color: #efe2d0 !important;
}

body .cs-main-content,
body .entry-content,
body .elementor,
body .elementor-section,
body .e-con,
body .e-con-inner,
body .elementor-widget-wrap {
	background-color: transparent !important;
}

body .cs-header.cs-header-stretch,
body .cs-header {
	background: #efe2d0 !important;
}

body .cs-header__outer {
	background: transparent !important;
}

/* =========================================
   ROBERIN global page background - brighter paper grid refinement
   - Brighten the site-wide background and add a subtle grid texture
   - 2026-05-03
========================================= */
:root,
[data-scheme="light"] {
	--cs-site-background: #f4eadc !important;
	--cs-layout-background: #f8efe2 !important;
	--cs-header-background: #f4eadc !important;
}

html,
body {
	background-color: #f4eadc !important;
	background-image:
		linear-gradient(90deg, rgba(107, 87, 69, 0.020) 1px, transparent 1px),
		linear-gradient(0deg, rgba(107, 87, 69, 0.018) 1px, transparent 1px) !important;
	background-position: 0 0 !important;
	background-size: 16px 16px !important;
	background-attachment: fixed !important;
}

body .cs-wrapper,
body .cs-site,
body .cs-site-inner,
body .cs-site-primary,
body .cs-site-content {
	background: transparent !important;
}

body .cs-header.cs-header-stretch,
body .cs-header {
	background-color: #f4eadc !important;
	background-image:
		linear-gradient(90deg, rgba(107, 87, 69, 0.020) 1px, transparent 1px),
		linear-gradient(0deg, rgba(107, 87, 69, 0.018) 1px, transparent 1px) !important;
	background-position: 0 0 !important;
	background-size: 16px 16px !important;
}

body .cs-header__outer {
	background: transparent !important;
}

/* =========================================
   ROBERIN global page background - near-white paper refinement
   - Brighter, closer-to-white warm background while keeping a very subtle grid
   - 2026-05-03
========================================= */
:root,
[data-scheme="light"] {
	--cs-site-background: #fbf7f0 !important;
	--cs-layout-background: #f8efe2 !important;
	--cs-header-background: #fbf7f0 !important;
}

html,
body {
	background-color: #fbf7f0 !important;
	background-image:
		linear-gradient(90deg, rgba(107, 87, 69, 0.016) 1px, transparent 1px),
		linear-gradient(0deg, rgba(107, 87, 69, 0.014) 1px, transparent 1px) !important;
	background-position: 0 0 !important;
	background-size: 16px 16px !important;
	background-attachment: fixed !important;
}

body .cs-header.cs-header-stretch,
body .cs-header {
	background-color: #fbf7f0 !important;
	background-image:
		linear-gradient(90deg, rgba(107, 87, 69, 0.016) 1px, transparent 1px),
		linear-gradient(0deg, rgba(107, 87, 69, 0.014) 1px, transparent 1px) !important;
	background-position: 0 0 !important;
	background-size: 16px 16px !important;
}

/* =========================================
   ROBERIN global page background - subtle warm color with clearer grid
   - Add a tiny bit more warmth and make the grid slightly more visible
   - 2026-05-03
========================================= */
:root,
[data-scheme="light"] {
	--cs-site-background: #f9f1e7 !important;
	--cs-layout-background: #f8efe2 !important;
	--cs-header-background: #f9f1e7 !important;
}

html,
body {
	background-color: #f9f1e7 !important;
	background-image:
		linear-gradient(90deg, rgba(107, 87, 69, 0.030) 1px, transparent 1px),
		linear-gradient(0deg, rgba(107, 87, 69, 0.026) 1px, transparent 1px) !important;
	background-position: 0 0 !important;
	background-size: 16px 16px !important;
	background-attachment: fixed !important;
}

body .cs-header.cs-header-stretch,
body .cs-header {
	background-color: #f9f1e7 !important;
	background-image:
		linear-gradient(90deg, rgba(107, 87, 69, 0.030) 1px, transparent 1px),
		linear-gradient(0deg, rgba(107, 87, 69, 0.026) 1px, transparent 1px) !important;
	background-position: 0 0 !important;
	background-size: 16px 16px !important;
}

/* =========================================
   ROBERIN global finishing sections - footer/profile/contact
   - Globalized from approved baseball lower-section style
========================================= */
.cs-entry__footer,
.cs-sight-testimonials,
.cs-contact-form {
  width: 100% !important;
  max-width: 950px !important;
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.cs-entry__footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-top: 22px !important;
  margin-bottom: 26px !important;
  padding: 13px 14px !important;
  background:
    linear-gradient(90deg, rgba(107, 87, 69, 0.035) 1px, transparent 1px) 0 0 / 14px 14px,
    linear-gradient(0deg, rgba(107, 87, 69, 0.030) 1px, transparent 1px) 0 0 / 14px 14px,
    #f8efe2 !important;
  border: 2px solid #6b5745 !important;
  border-radius: 0 !important;
  box-shadow: 3px 3px 0 rgba(82, 65, 50, 0.34) !important;
}

.cs-entry__footer-left,
.cs-entry__footer-right {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
}

.cs-entry__footer .cs-entry__post-meta,
.cs-entry__footer .cs-meta-author-link {
  color: #574838 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
}

.cs-entry__footer .cs-meta-author-by {
  margin-right: 5px !important;
  color: #8a7059 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
}

.cs-entry__footer .cs-meta-author-name {
  color: #34281f !important;
  font-weight: 900 !important;
}

.cs-entry__footer .cs-share {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 !important;
}

.cs-entry__footer .cs-share__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  color: #34281f !important;
  background: #e2edd8 !important;
  border: 2px solid #6b5745 !important;
  border-radius: 0 !important;
  box-shadow: 2px 2px 0 rgba(82, 65, 50, 0.28) !important;
  text-decoration: none !important;
  transition: transform 120ms ease, box-shadow 120ms ease, background-color 120ms ease !important;
}

.cs-entry__footer .cs-share__link:hover {
  background: #ddbf6f !important;
  color: #34281f !important;
  transform: translate(1px, 1px) !important;
  box-shadow: 1px 1px 0 rgba(82, 65, 50, 0.30) !important;
}

.cs-entry__footer .cs-share__link i {
  font-size: 13px !important;
  line-height: 1 !important;
}

.cs-sight-testimonials {
  margin-top: 24px !important;
  margin-bottom: 28px !important;
  padding: 0 !important;
}

.cs-sight-testimonials__element {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 22px 24px !important;
  background:
    linear-gradient(90deg, rgba(107, 87, 69, 0.035) 1px, transparent 1px) 0 0 / 14px 14px,
    linear-gradient(0deg, rgba(107, 87, 69, 0.030) 1px, transparent 1px) 0 0 / 14px 14px,
    #f6ead8 !important;
  border: 2px solid #6b5745 !important;
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 rgba(82, 65, 50, 0.34) !important;
  color: #574838 !important;
}

.cs-sight-testimonials__element-top {
  align-items: center !important;
  margin-bottom: 12px !important;
  padding-bottom: 11px !important;
  border-bottom: 2px solid rgba(107, 87, 69, 0.42) !important;
}

.cs-sight-testimonials__name {
  color: #34281f !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em !important;
}

.cs-sight-testimonials__position {
  margin-top: 4px !important;
  color: #7a412f !important;
  -webkit-text-fill-color: #7a412f !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

.cs-sight-testimonials__element-bottom,
.cs-sight-testimonials__description {
  color: #574838 !important;
  font-size: 15px !important;
  line-height: 1.72 !important;
  font-weight: 400 !important;
}

.cs-contact-form {
  display: block !important;
  margin-top: 34px !important;
  margin-bottom: 46px !important;
  padding: 0 !important;
}

.cs-contact-form__content {
  display: grid !important;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr) !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: 950px !important;
  box-sizing: border-box !important;
  padding: 26px 28px !important;
  background:
    linear-gradient(90deg, rgba(107, 87, 69, 0.035) 1px, transparent 1px) 0 0 / 14px 14px,
    linear-gradient(0deg, rgba(107, 87, 69, 0.030) 1px, transparent 1px) 0 0 / 14px 14px,
    #f8efe2 !important;
  border: 2px solid #6b5745 !important;
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 rgba(82, 65, 50, 0.38) !important;
}

.cs-contact-form__header {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cs-contact-form__heading {
  display: inline-flex !important;
  margin: 0 0 10px !important;
  padding: 8px 11px !important;
  color: #34281f !important;
  background: #e2edd8 !important;
  border: 2px solid #6b5745 !important;
  box-shadow: 2px 2px 0 rgba(82, 65, 50, 0.28) !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
}

.cs-contact-form__subheading {
  margin: 0 0 12px !important;
  color: #7a412f !important;
  -webkit-text-fill-color: #7a412f !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  letter-spacing: -0.01em !important;
}

.cs-contact-form__description {
  max-width: none !important;
  margin: 0 !important;
  color: #574838 !important;
  font-size: 15px !important;
  line-height: 1.72 !important;
  font-weight: 400 !important;
}

.cs-contact-form__form,
.cs-contact-form__form .wpcf7,
.cs-contact-form__form form {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.cs-contact-form__form form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.cs-contact-form__form .hidden-fields-container,
.cs-contact-form__form .screen-reader-response {
  display: none !important;
}

.cs-contact-form__form label {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: #34281f !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em !important;
}

.cs-contact-form__form label:nth-of-type(3),
.cs-contact-form__form label:nth-of-type(4),
.cs-contact-form__form label:nth-of-type(5),
.cs-contact-form__form .wpcf7-response-output {
  grid-column: 1 / -1 !important;
}

.cs-contact-form__form input[type="text"],
.cs-contact-form__form input[type="email"],
.cs-contact-form__form textarea {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  margin-top: 6px !important;
  padding: 10px 11px !important;
  color: #34281f !important;
  background: #fff8ed !important;
  border: 2px solid #6b5745 !important;
  border-radius: 0 !important;
  box-shadow: inset 2px 2px 0 rgba(82, 65, 50, 0.10) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  outline: none !important;
}

.cs-contact-form__form textarea {
  min-height: 118px !important;
  resize: vertical !important;
}

.cs-contact-form__form input:focus,
.cs-contact-form__form textarea:focus {
  background: #fffdf7 !important;
  border-color: #4f7d94 !important;
  box-shadow: inset 2px 2px 0 rgba(82, 65, 50, 0.08), 0 0 0 3px rgba(102, 141, 161, 0.18) !important;
}

.cs-contact-form__form .wpcf7-quiz-label {
  display: inline-block !important;
  margin-right: 8px !important;
  color: #574838 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.cs-contact-form__form .wpcf7-submit {
  justify-self: start !important;
  min-width: 112px !important;
  margin: 0 !important;
  padding: 11px 18px !important;
  color: #34281f !important;
  background: #ddbf6f !important;
  border: 2px solid #6b5745 !important;
  border-radius: 0 !important;
  box-shadow: 3px 3px 0 rgba(82, 65, 50, 0.34) !important;
  font-size: 12px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em !important;
  cursor: pointer !important;
  transition: transform 120ms ease, box-shadow 120ms ease, background-color 120ms ease !important;
}

.cs-contact-form__form .wpcf7-submit:hover {
  background: #e2edd8 !important;
  transform: translate(1px, 1px) !important;
  box-shadow: 2px 2px 0 rgba(82, 65, 50, 0.34) !important;
}

.cs-contact-form__form .wpcf7-spinner {
  align-self: center !important;
  margin: 0 !important;
}

@media (max-width: 768px) {
.cs-entry__footer,
  .cs-sight-testimonials,
  .cs-contact-form {
    width: calc(100% - 10px) !important;
    max-width: calc(100% - 10px) !important;
  }

  .cs-entry__footer {
    align-items: flex-start !important;
    flex-direction: column !important;
    margin-top: 20px !important;
    margin-bottom: 24px !important;
    padding: 12px !important;
  }

  .cs-entry__footer .cs-share {
    flex-wrap: wrap !important;
  }

  .cs-sight-testimonials__element {
    padding: 18px 16px !important;
  }

  .cs-sight-testimonials__name {
    font-size: 17px !important;
  }

  .cs-sight-testimonials__element-bottom,
  .cs-sight-testimonials__description {
    font-size: 15px !important;
  }

  .cs-contact-form {
    margin-top: 28px !important;
    margin-bottom: 38px !important;
  }

  .cs-contact-form__content {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 22px 16px !important;
  }

  .cs-contact-form__heading {
    font-size: 21px !important;
  }

  .cs-contact-form__subheading {
    font-size: 15px !important;
  }

  .cs-contact-form__description {
    font-size: 15px !important;
  }

  .cs-contact-form__form form {
    grid-template-columns: 1fr !important;
  }

  .cs-contact-form__form label,
  .cs-contact-form__form label:nth-of-type(3),
  .cs-contact-form__form label:nth-of-type(4),
  .cs-contact-form__form label:nth-of-type(5) {
    grid-column: auto !important;
  }
}

/* =========================================
   ROBERIN tool search click target hardening
   - Keep icon clicks bubbling to the localized homepage search button
   - 2026-05-04
========================================= */
.roberin-tool-search-toggle__button .cs-icon {
	pointer-events: none !important;
}

/* =========================================
   ROBERIN mobile hero readability redesign
   - Keep the welcome copy visible on mobile even when the device uses dark mode
   - 2026-05-04
========================================= */
@media (max-width: 768px) {
	.cs-hero {
		width: calc(100% - 20px) !important;
		max-width: 430px !important;
		margin: 16px auto 26px !important;
		background: transparent !important;
	}

	.cs-hero__container {
		margin-top: 12px !important;
		margin-bottom: 22px !important;
		padding-right: 10px !important;
		padding-left: 10px !important;
	}

	.cs-hero__content {
		display: block !important;
		width: 100% !important;
	}

	.cs-hero__info {
		position: relative !important;
		isolation: isolate !important;
		align-items: center !important;
		gap: 12px !important;
		width: 100% !important;
		padding: 22px 16px 20px !important;
		overflow: hidden !important;
		text-align: center !important;
		color: #3f3024 !important;
		background: #fff7e8 !important;
		border: 2px solid #6b5745 !important;
		border-radius: 0 !important;
		box-shadow: 4px 4px 0 rgba(82, 65, 50, 0.28) !important;
	}

	.cs-hero__info::before {
		content: "" !important;
		position: absolute !important;
		inset: 0 !important;
		z-index: -1 !important;
		background-image:
			linear-gradient(rgba(107, 87, 69, 0.055) 1px, transparent 1px),
			linear-gradient(90deg, rgba(107, 87, 69, 0.045) 1px, transparent 1px) !important;
		background-size: 18px 18px !important;
	}

	.cs-hero__heading {
		max-width: 100% !important;
		color: #241a13 !important;
		font-size: clamp(20px, 6.2vw, 24px) !important;
		line-height: 1.24 !important;
		font-weight: 900 !important;
		letter-spacing: -0.04em !important;
		text-wrap: balance !important;
		word-break: keep-all !important;
		overflow-wrap: break-word !important;
	}

	body .cs-hero .cs-hero__info > .cs-hero__heading {
		color: #241a13 !important;
	}

	.cs-hero__additional {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 8px !important;
		width: 100% !important;
		color: #4f3d2e !important;
	}

	.cs-hero__additional-divider {
		display: none !important;
	}

	.cs-hero__location,
	.cs-hero__status {
		min-height: auto !important;
		margin: 0 !important;
		padding: 7px 11px !important;
		border: 1px solid #8b735c !important;
		border-radius: 999px !important;
		box-shadow: 2px 2px 0 rgba(82, 65, 50, 0.16) !important;
		font-size: 12px !important;
		line-height: 1.15 !important;
		font-weight: 900 !important;
		letter-spacing: 0.01em !important;
	}

	.cs-hero__location,
	.cs-hero__location span {
		color: #4f3d2e !important;
		background: #f6e6c4 !important;
	}

	body .cs-hero .cs-hero__additional .cs-hero__location,
	body .cs-hero .cs-hero__additional .cs-hero__location span {
		color: #4f3d2e !important;
	}

	.cs-hero__location .emoji,
	.cs-hero__location img.emoji {
		display: none !important;
	}

	.cs-hero__status,
	.cs-hero__status span {
		color: #315b2f !important;
		background: #e7f2d5 !important;
	}

	body .cs-hero .cs-hero__additional .cs-hero__status,
	body .cs-hero .cs-hero__additional .cs-hero__status span {
		color: #315b2f !important;
	}

	.cs-hero__status::before {
		background: #6c9a45 !important;
		animation: none !important;
	}

	.cs-hero__description {
		max-width: 100% !important;
		margin: 0 auto !important;
		color: #574838 !important;
		font-size: 15px !important;
		line-height: 1.68 !important;
		font-weight: 700 !important;
		letter-spacing: -0.02em !important;
		text-align: center !important;
		word-break: keep-all !important;
		overflow-wrap: break-word !important;
	}

	body .cs-hero .cs-hero__info > .cs-hero__description {
		color: #574838 !important;
	}

	.cs-hero__description br {
		display: none !important;
	}
}

@media (max-width: 390px) {
	.cs-hero__info {
		padding: 20px 14px 18px !important;
	}

	.cs-hero__description {
		font-size: 14px !important;
		line-height: 1.64 !important;
	}
}

/* =========================================
   ROBERIN home hero full redesign
   - Desktop and mobile use the same width rhythm as the category finder grid
   - 2026-05-04
========================================= */
.elementor-element-94d4b02 {
	width: 100% !important;
}

.elementor-element-94d4b02 > .e-con-inner {
	width: 100% !important;
	max-width: 950px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.elementor-element-94d4b02 .cs-hero {
	width: 100% !important;
	max-width: 950px !important;
	margin: 18px auto 32px !important;
	background: transparent !important;
}

.elementor-element-94d4b02 .cs-hero__container,
.elementor-element-94d4b02 .cs-hero__inner,
.elementor-element-94d4b02 .cs-hero__content {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-element-94d4b02 .cs-hero__info {
	position: relative !important;
	isolation: isolate !important;
	box-sizing: border-box !important;
	align-items: center !important;
	gap: 18px !important;
	width: 100% !important;
	max-width: none !important;
	padding: 34px 42px 32px !important;
	overflow: hidden !important;
	text-align: center !important;
	color: #3f3024 !important;
	background: #fff7e8 !important;
	border: 2px solid #6b5745 !important;
	border-radius: 0 !important;
	box-shadow: 6px 6px 0 rgba(82, 65, 50, 0.28) !important;
}

.elementor-element-94d4b02 .cs-hero__info::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: -1 !important;
	background-image:
		linear-gradient(rgba(107, 87, 69, 0.055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(107, 87, 69, 0.045) 1px, transparent 1px) !important;
	background-size: 20px 20px !important;
}

.elementor-element-94d4b02 .cs-hero__info::after {
	content: "" !important;
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	bottom: 12px !important;
	left: 12px !important;
	z-index: -1 !important;
	border: 1px dashed rgba(107, 87, 69, 0.26) !important;
	pointer-events: none !important;
}

body .elementor-element-94d4b02 .cs-hero__heading {
	max-width: 820px !important;
	margin: 0 auto !important;
	color: #241a13 !important;
	font-size: clamp(30px, 3.2vw, 44px) !important;
	line-height: 1.12 !important;
	font-weight: 950 !important;
	letter-spacing: -0.055em !important;
	text-wrap: balance !important;
	word-break: keep-all !important;
	overflow-wrap: break-word !important;
}

.elementor-element-94d4b02 .cs-hero__additional {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	width: 100% !important;
	color: #4f3d2e !important;
}

.elementor-element-94d4b02 .cs-hero__additional-divider {
	display: none !important;
}

.elementor-element-94d4b02 .cs-hero__location,
.elementor-element-94d4b02 .cs-hero__status {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: auto !important;
	margin: 0 !important;
	padding: 8px 15px !important;
	border: 1px solid #8b735c !important;
	border-radius: 999px !important;
	box-shadow: 3px 3px 0 rgba(82, 65, 50, 0.18) !important;
	font-size: 13px !important;
	line-height: 1.15 !important;
	font-weight: 900 !important;
	letter-spacing: 0.01em !important;
}

.elementor-element-94d4b02 .cs-hero__location,
body .elementor-element-94d4b02 .cs-hero__location span {
	color: #4f3d2e !important;
	background: #f6e6c4 !important;
}

.elementor-element-94d4b02 .cs-hero__location .emoji,
.elementor-element-94d4b02 .cs-hero__location img.emoji {
	display: none !important;
}

.elementor-element-94d4b02 .cs-hero__status,
body .elementor-element-94d4b02 .cs-hero__status span {
	color: #315b2f !important;
	background: #e7f2d5 !important;
}

.elementor-element-94d4b02 .cs-hero__status::before {
	background: #6c9a45 !important;
	animation: none !important;
}

body .elementor-element-94d4b02 .cs-hero__description {
	max-width: 720px !important;
	margin: 0 auto !important;
	color: #574838 !important;
	font-size: 17px !important;
	line-height: 1.72 !important;
	font-weight: 800 !important;
	letter-spacing: -0.025em !important;
	text-align: center !important;
	word-break: keep-all !important;
	overflow-wrap: break-word !important;
}

@media (max-width: 768px) {
	.elementor-element-94d4b02 > .e-con-inner {
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-element-94d4b02 .cs-hero {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto 24px !important;
	}

	.elementor-element-94d4b02 .cs-hero__info {
		width: 100% !important;
		padding: 24px 16px 22px !important;
		gap: 13px !important;
		box-shadow: 4px 4px 0 rgba(82, 65, 50, 0.28) !important;
	}

	.elementor-element-94d4b02 .cs-hero__info::after {
		top: 9px !important;
		right: 9px !important;
		bottom: 9px !important;
		left: 9px !important;
	}

	body .elementor-element-94d4b02 .cs-hero__heading {
		font-size: clamp(22px, 6.8vw, 26px) !important;
		line-height: 1.2 !important;
		letter-spacing: -0.05em !important;
	}

	.elementor-element-94d4b02 .cs-hero__additional {
		gap: 8px !important;
	}

	.elementor-element-94d4b02 .cs-hero__location,
	.elementor-element-94d4b02 .cs-hero__status {
		padding: 7px 11px !important;
		font-size: 12px !important;
		box-shadow: 2px 2px 0 rgba(82, 65, 50, 0.16) !important;
	}

	body .elementor-element-94d4b02 .cs-hero__description {
		max-width: 100% !important;
		font-size: 14px !important;
		line-height: 1.64 !important;
		font-weight: 800 !important;
	}

	.elementor-element-94d4b02 .cs-hero__description br {
		display: none !important;
	}
}

@media (max-width: 390px) {
	.elementor-element-94d4b02 .cs-hero__info {
		padding: 22px 14px 20px !important;
	}
}

/* ROBERIN article kicker contrast lock 2026-05-04
   Keep badge/kicker text readable even when generic article paragraph rules load later. */
body.single-sight-projects .roberin-article-body p.roberin-article-kicker {
  color: #fff9e8 !important;
  -webkit-text-fill-color: #fff9e8 !important;
  text-shadow: none !important;
}

/* =========================================
   ROBERIN header/search/footer polish
   - 2026-05-04
========================================= */
body .cs-header.cs-header-stretch,
body .cs-header {
	background-color: #f3eadb !important;
	background-image:
		linear-gradient(90deg, rgba(107, 87, 69, 0.030) 1px, transparent 1px),
		linear-gradient(0deg, rgba(107, 87, 69, 0.026) 1px, transparent 1px) !important;
	background-position: 0 0 !important;
	background-size: 16px 16px !important;
}

body .cs-header__outer {
	padding-top: 8px !important;
	padding-bottom: 10px !important;
	background: transparent !important;
}

body .roberin-tool-search-toggle__icon,
body .roberin-tool-search-toggle__button svg,
body .cs-header__scheme-toggle-icons,
body .cs-header__scheme-toggle-icon,
body .cs-lang-current svg {
	display: block !important;
	width: 20px !important;
	height: 20px !important;
	min-width: 20px !important;
	min-height: 20px !important;
	font-size: 20px !important;
	line-height: 1 !important;
	color: currentColor !important;
	stroke: currentColor !important;
	pointer-events: none !important;
}

body .roberin-tool-search-toggle__button i {
	display: none !important;
}

.cs-footer {
	box-sizing: border-box !important;
	margin-top: 48px !important;
	padding: 24px 10px 28px !important;
	background:
		linear-gradient(90deg, rgba(107, 87, 69, 0.034) 1px, transparent 1px) 0 0 / 18px 18px,
		linear-gradient(0deg, rgba(107, 87, 69, 0.030) 1px, transparent 1px) 0 0 / 18px 18px,
		#f3eadb !important;
	border-top: 2px solid #6b5745 !important;
	color: #34281f !important;
}

.cs-footer .cs-container {
	width: 100% !important;
	max-width: 950px !important;
	box-sizing: border-box !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.cs-footer__item-top-bar .cs-footer__item-inner:empty,
.cs-footer__item-top-bar .cs-footer__col:empty {
	display: none !important;
}

.cs-footer__item-top-bar {
	min-height: 0 !important;
	padding: 0 !important;
}

.cs-footer__item-bottom-bar {
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

.cs-footer__item-bottom-bar .cs-footer__item-inner {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	min-height: 0 !important;
	padding: 14px 16px !important;
	background:
		linear-gradient(90deg, rgba(107, 87, 69, 0.026) 1px, transparent 1px) 0 0 / 14px 14px,
		linear-gradient(0deg, rgba(107, 87, 69, 0.023) 1px, transparent 1px) 0 0 / 14px 14px,
		#fff7e8 !important;
	border: 2px solid #6b5745 !important;
	border-radius: 0 !important;
	box-shadow: 4px 4px 0 rgba(82, 65, 50, 0.24) !important;
}

.cs-footer__col,
.cs-footer__copyright {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center !important;
}

.cs-footer__copyright {
	color: #4f3d2e !important;
	font-size: 13px !important;
	font-weight: 850 !important;
	line-height: 1.6 !important;
	letter-spacing: -0.01em !important;
}

.cs-footer__copyright a {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 24px !important;
	margin: 0 2px !important;
	padding: 2px 6px !important;
	color: #34281f !important;
	background: #e2edd8 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: 2px 2px 0 rgba(82, 65, 50, 0.12) !important;
	font-weight: 900 !important;
	text-decoration: none !important;
}

.cs-footer__copyright a:hover,
.cs-footer__copyright a:focus {
	background: #ddbf6f !important;
	color: #34281f !important;
}

.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero,
.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .elementor-widget-container,
.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero {
	width: 100% !important;
	max-width: 950px !important;
	box-sizing: border-box !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero {
	margin-top: 18px !important;
	margin-bottom: 32px !important;
	background: transparent !important;
}

.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__container,
.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__inner,
.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__content {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__info {
	position: relative !important;
	isolation: isolate !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 18px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	padding: 34px 42px 32px !important;
	overflow: hidden !important;
	text-align: center !important;
	color: #3f3024 !important;
	background: #fff7e8 !important;
	border: 2px solid #6b5745 !important;
	border-radius: 0 !important;
	box-shadow: 6px 6px 0 rgba(82, 65, 50, 0.28) !important;
}

.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__info::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: -1 !important;
	background-image:
		linear-gradient(rgba(107, 87, 69, 0.055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(107, 87, 69, 0.045) 1px, transparent 1px) !important;
	background-size: 20px 20px !important;
}

.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__heading {
	max-width: 820px !important;
	margin: 0 auto !important;
	color: #241a13 !important;
	font-size: clamp(30px, 3.2vw, 44px) !important;
	line-height: 1.12 !important;
	font-weight: 950 !important;
	letter-spacing: -0.055em !important;
	text-wrap: balance !important;
	word-break: keep-all !important;
	overflow-wrap: break-word !important;
}

.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__additional {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	width: 100% !important;
}

.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__additional-divider,
.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__location .emoji,
.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__location img.emoji {
	display: none !important;
}

.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__location,
.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__status {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: auto !important;
	margin: 0 !important;
	padding: 8px 15px !important;
	border: 1px solid #8b735c !important;
	border-radius: 999px !important;
	box-shadow: 3px 3px 0 rgba(82, 65, 50, 0.18) !important;
	font-size: 13px !important;
	line-height: 1.15 !important;
	font-weight: 900 !important;
}

.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__location,
.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__location span {
	color: #4f3d2e !important;
	background: #f6e6c4 !important;
}

.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__status,
.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__status span {
	color: #315b2f !important;
	background: #e7f2d5 !important;
}

.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__description {
	max-width: 720px !important;
	margin: 0 auto !important;
	color: #574838 !important;
	font-size: 17px !important;
	line-height: 1.72 !important;
	font-weight: 800 !important;
	letter-spacing: -0.025em !important;
	text-align: center !important;
	word-break: keep-all !important;
	overflow-wrap: break-word !important;
}

@media (max-width: 768px) {
	body .cs-header__outer {
		padding-top: 6px !important;
		padding-bottom: 7px !important;
	}

	.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero,
	.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero {
		width: 100% !important;
		max-width: 100% !important;
	}

	.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero {
		margin-top: 0 !important;
		margin-bottom: 24px !important;
	}

	.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__info {
		padding: 24px 16px 22px !important;
		gap: 13px !important;
		box-shadow: 4px 4px 0 rgba(82, 65, 50, 0.28) !important;
	}

	.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__heading {
		font-size: clamp(22px, 6.8vw, 26px) !important;
		line-height: 1.2 !important;
	}

	.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__location,
	.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__status {
		padding: 7px 11px !important;
		font-size: 12px !important;
	}

	.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__description {
		max-width: 100% !important;
		font-size: 14px !important;
		line-height: 1.64 !important;
	}

	.entry-content .elementor:is(.elementor-645, .elementor-1789, .elementor-1790, .elementor-1791, .elementor-1792) .elementor-widget-cs-hero .cs-hero__description br {
		display: none !important;
	}

	.cs-footer {
		margin-top: 36px !important;
		padding: 18px 5px 22px !important;
	}

	.cs-footer__item-bottom-bar .cs-footer__item-inner {
		padding: 13px 10px !important;
		box-shadow: 3px 3px 0 rgba(82, 65, 50, 0.24) !important;
	}

	.cs-footer__copyright {
		font-size: 12px !important;
	}
}

/* =========================================
   ROBERIN unified shell background + footer finish
   - 2026-05-05
========================================= */
:root,
[data-scheme="light"] {
	--cs-site-background: #f9f1e7 !important;
	--cs-layout-background: #f9f1e7 !important;
	--cs-header-background: #f9f1e7 !important;
	--roberin-shell-background: #f9f1e7 !important;
}

html,
body,
body .cs-wrapper,
body .cs-site,
body .cs-site-inner,
body .cs-site-primary,
body .cs-site-content {
	background-color: #f9f1e7 !important;
	background-image:
		linear-gradient(90deg, rgba(107, 87, 69, 0.030) 1px, transparent 1px),
		linear-gradient(0deg, rgba(107, 87, 69, 0.026) 1px, transparent 1px) !important;
	background-position: 0 0 !important;
	background-size: 16px 16px !important;
}

body .cs-header.cs-header-stretch,
body .cs-header,
footer.cs-footer,
footer.cs-footer[data-scheme] {
	background-color: #f9f1e7 !important;
	background-image:
		linear-gradient(90deg, rgba(107, 87, 69, 0.030) 1px, transparent 1px),
		linear-gradient(0deg, rgba(107, 87, 69, 0.026) 1px, transparent 1px) !important;
	background-position: 0 0 !important;
	background-size: 16px 16px !important;
}

body .cs-header__outer,
body .cs-main-content,
body .entry-content,
body .elementor,
body .elementor-section,
body .e-con,
body .e-con-inner,
body .elementor-widget-wrap {
	background: transparent !important;
}

footer.cs-footer,
footer.cs-footer[data-scheme] {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 46px 0 0 !important;
	padding: 24px 10px 30px !important;
	border-top: 0 !important;
	box-shadow: none !important;
	color: #34281f !important;
}

footer.cs-footer .cs-footer__item-top-bar {
	display: none !important;
}

footer.cs-footer .cs-container {
	width: 100% !important;
	max-width: 950px !important;
	box-sizing: border-box !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

footer.cs-footer .cs-footer__item,
footer.cs-footer .cs-footer__item-bottom-bar {
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

footer.cs-footer .cs-footer__item-bottom-bar .cs-footer__item-inner {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 86px !important;
	margin: 0 auto !important;
	padding: 18px 20px 17px !important;
	background:
		linear-gradient(90deg, rgba(107, 87, 69, 0.026) 1px, transparent 1px) 0 0 / 14px 14px,
		linear-gradient(0deg, rgba(107, 87, 69, 0.023) 1px, transparent 1px) 0 0 / 14px 14px,
		#fff7e8 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: 5px 5px 0 rgba(82, 65, 50, 0.18) !important;
}

footer.cs-footer .cs-footer__item-bottom-bar .cs-footer__item-inner::before {
	content: "ROBERIN" !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 24px !important;
	padding: 3px 9px !important;
	color: #34281f !important;
	background: #ddbf6f !important;
	border: 0 !important;
	box-shadow: 2px 2px 0 rgba(82, 65, 50, 0.12) !important;
	font-size: 11px !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	letter-spacing: 0.14em !important;
}

footer.cs-footer .cs-footer__col,
footer.cs-footer .cs-footer__copyright {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center !important;
}

footer.cs-footer .cs-footer__copyright {
	color: #4f3d2e !important;
	font-size: 13px !important;
	font-weight: 850 !important;
	line-height: 1.7 !important;
	letter-spacing: -0.01em !important;
}

footer.cs-footer .cs-footer__copyright a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 25px !important;
	margin: 0 3px !important;
	padding: 3px 7px !important;
	color: #34281f !important;
	background: #e2edd8 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: 2px 2px 0 rgba(82, 65, 50, 0.12) !important;
	font-weight: 900 !important;
	text-decoration: none !important;
}

footer.cs-footer .cs-footer__copyright a:hover,
footer.cs-footer .cs-footer__copyright a:focus {
	background: #ddbf6f !important;
	color: #34281f !important;
}

@media (max-width: 768px) {
	footer.cs-footer,
	footer.cs-footer[data-scheme] {
		margin-top: 34px !important;
		padding: 20px 5px 24px !important;
	}

	footer.cs-footer .cs-footer__item-bottom-bar .cs-footer__item-inner {
		min-height: 92px !important;
		padding: 16px 12px 15px !important;
		box-shadow: 4px 4px 0 rgba(82, 65, 50, 0.25) !important;
	}

	footer.cs-footer .cs-footer__copyright {
		font-size: 12px !important;
	}
}

/* ROBERIN header logo theme-aware swap 2026-05-05
   The optimized normal logo is for light headers; the dark logo is shown only
   when the site is actually in dark/inverse scheme. */
body[data-scheme="dark"] .cs-logo .cs-logo-default,
body[data-scheme="inverse"] .cs-logo .cs-logo-default {
	display: none !important;
}

body[data-scheme="dark"] .cs-logo .cs-logo-dark,
body[data-scheme="inverse"] .cs-logo .cs-logo-dark {
	display: inline-flex !important;
}

@media (prefers-color-scheme: dark) {
	body[data-scheme="auto"] .cs-logo .cs-logo-default,
	:root body[data-scheme="auto"][data-d="dark"] .cs-logo .cs-logo-default,
	:root body[data-scheme="auto"][data-d="inverse"] .cs-logo .cs-logo-default {
		display: none !important;
	}

	body[data-scheme="auto"] .cs-logo .cs-logo-dark,
	:root body[data-scheme="auto"][data-d="dark"] .cs-logo .cs-logo-dark,
	:root body[data-scheme="auto"][data-d="inverse"] .cs-logo .cs-logo-dark {
		display: inline-flex !important;
	}
}

@media (prefers-color-scheme: light) {
	:root body[data-scheme="auto"][data-l="dark"] .cs-logo .cs-logo-default,
	:root body[data-scheme="auto"][data-l="inverse"] .cs-logo .cs-logo-default {
		display: none !important;
	}

	:root body[data-scheme="auto"][data-l="dark"] .cs-logo .cs-logo-dark,
	:root body[data-scheme="auto"][data-l="inverse"] .cs-logo .cs-logo-dark {
		display: inline-flex !important;
	}
}

/* =========================================
   ROBERIN footer divider + flat background
   - 2026-05-05
========================================= */
footer.cs-footer,
footer.cs-footer[data-scheme] {
	border-top: 1px solid rgba(107, 87, 69, 0.38) !important;
	box-shadow: none !important;
}

footer.cs-footer .cs-footer__item-bottom-bar .cs-footer__item-inner {
	background: linear-gradient(90deg, rgba(107, 87, 69, 0.026) 1px, transparent 1px) 0 0 / 14px 14px,
		linear-gradient(0deg, rgba(107, 87, 69, 0.023) 1px, transparent 1px) 0 0 / 14px 14px,
		#fff7e8 !important;
	border: 0 !important;
	box-shadow: none !important;
}

footer.cs-footer .cs-footer__item-bottom-bar .cs-footer__item-inner::before,
footer.cs-footer .cs-footer__copyright a {
	box-shadow: none !important;
}

@media (max-width: 768px) {
	footer.cs-footer,
	footer.cs-footer[data-scheme] {
		border-top: 1px solid rgba(107, 87, 69, 0.38) !important;
	}

	footer.cs-footer .cs-footer__item-bottom-bar .cs-footer__item-inner {
		box-shadow: none !important;
	}
}

/* ROBERIN footer inner transparent background - 2026-05-05 */
footer.cs-footer .cs-footer__item-bottom-bar .cs-footer__item-inner {
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

/* =========================================
   ROBERIN scroll-to-top redesign
   - 2026-05-05
========================================= */
.cs-scroll-top {
	width: 46px !important;
	height: 46px !important;
	right: 22px !important;
	bottom: 22px !important;
	z-index: 120 !important;
	box-sizing: border-box !important;
	border: 2px solid #6b5745 !important;
	border-radius: 0 !important;
	background: #ddbf6f !important;
	color: #34281f !important;
	box-shadow: 4px 4px 0 rgba(82, 65, 50, 0.2) !important;
	overflow: visible !important;
}

.cs-scroll-top::after,
.cs-scroll-top::before,
.cs-scroll-top-border,
.cs-scroll-top-progress {
	display: none !important;
	content: none !important;
}

.cs-scroll-top i {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 21px !important;
	line-height: 1 !important;
	color: currentColor !important;
	text-shadow: none !important;
	transition: transform 0.18s ease !important;
}

.cs-scroll-top:hover,
.cs-scroll-top:focus-visible {
	background: #e2edd8 !important;
	color: #34281f !important;
	transform: translate(-2px, -2px) !important;
	box-shadow: 6px 6px 0 rgba(82, 65, 50, 0.18) !important;
	outline: none !important;
}

.cs-scroll-top:hover i,
.cs-scroll-top:focus-visible i {
	transform: translateY(-2px) !important;
}

.cs-scroll-top:active {
	transform: translate(1px, 1px) !important;
	box-shadow: 2px 2px 0 rgba(82, 65, 50, 0.22) !important;
}

@media (max-width: 768px) {
	.cs-scroll-top {
		width: 42px !important;
		height: 42px !important;
		right: 15px !important;
		bottom: 15px !important;
		box-shadow: 3px 3px 0 rgba(82, 65, 50, 0.2) !important;
	}

	.cs-scroll-top i {
		font-size: 19px !important;
	}
}

/* ROBERIN scroll-to-top active state guard - 2026-05-05 */
.cs-scroll-top.is-active {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateY(0) !important;
}

/* =========================================
   ROBERIN about page redesign
   - 2026-05-05
========================================= */
body.page-id-2293 .cs-entry__header {
	display: none !important;
}

body.page-id-2293 .entry-content {
	margin-top: 0 !important;
}

body.page-id-2293 .entry-content > *:first-child {
	margin-top: 0 !important;
}

.roberin-about-redesign {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 1120px !important;
	margin: 0 auto 42px !important;
	padding: 0 !important;
	color: #34281f !important;
}

.roberin-about-redesign *,
.roberin-about-redesign *::before,
.roberin-about-redesign *::after {
	box-sizing: border-box !important;
}

.roberin-about-intro,
.roberin-about-section {
	position: relative !important;
	isolation: isolate !important;
	background: #fff7e8 !important;
	border: 2px solid #6b5745 !important;
	border-radius: 0 !important;
	box-shadow: 5px 5px 0 rgba(82, 65, 50, 0.18) !important;
	overflow: hidden !important;
}

.roberin-about-intro::before,
.roberin-about-section::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: -1 !important;
	background-image: linear-gradient(rgba(107, 87, 69, 0.052) 1px, transparent 1px), linear-gradient(90deg, rgba(107, 87, 69, 0.042) 1px, transparent 1px) !important;
	background-size: 18px 18px !important;
}

.roberin-about-intro {
	display: grid !important;
	grid-template-columns: minmax(0, 0.93fr) minmax(360px, 1.07fr) !important;
	gap: 28px !important;
	align-items: center !important;
	padding: 26px !important;
	margin: 0 0 24px !important;
}

.roberin-about-intro__copy {
	min-width: 0 !important;
	padding: 4px 0 !important;
}

.roberin-about-kicker,
.roberin-about-section-label {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 26px !important;
	margin: 0 0 14px !important;
	padding: 4px 10px !important;
	background: #ddbf6f !important;
	border: 1px solid #6b5745 !important;
	box-shadow: 2px 2px 0 rgba(82, 65, 50, 0.16) !important;
	color: #34281f !important;
	font-size: 11px !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
}

.roberin-about-redesign h1,
.roberin-about-redesign h2,
.roberin-about-redesign h3,
.roberin-about-redesign p,
.roberin-about-redesign ul,
.roberin-about-redesign figure {
	margin-top: 0 !important;
}

.roberin-about-redesign h1,
.roberin-about-redesign h2 {
	margin-bottom: 12px !important;
	color: #241a13 !important;
	font-size: clamp(28px, 4vw, 52px) !important;
	font-weight: 950 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.06em !important;
	text-shadow: none !important;
	word-break: keep-all !important;
}

.roberin-about-redesign h3 {
	margin-bottom: 8px !important;
	color: #2b2119 !important;
	font-size: 18px !important;
	font-weight: 950 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.035em !important;
	text-shadow: none !important;
	word-break: keep-all !important;
}

.roberin-about-redesign p,
.roberin-about-redesign li,
.roberin-about-figure figcaption {
	color: #4f3d2e !important;
	font-size: 16px !important;
	font-weight: 760 !important;
	line-height: 1.7 !important;
	letter-spacing: -0.018em !important;
	word-break: keep-all !important;
	overflow-wrap: anywhere !important;
	text-shadow: none !important;
}

.roberin-about-lead {
	max-width: 560px !important;
	margin-bottom: 18px !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	color: #3f3024 !important;
}

.roberin-about-points {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
}

.roberin-about-points span,
.roberin-about-list li {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 34px !important;
	padding: 6px 10px !important;
	background: #e2edd8 !important;
	border: 1px solid rgba(107, 87, 69, 0.72) !important;
	color: #34281f !important;
	font-size: 13px !important;
	font-weight: 950 !important;
	line-height: 1.25 !important;
}

.roberin-about-figure {
	margin: 0 !important;
	min-width: 0 !important;
}

.roberin-about-figure picture,
.roberin-about-figure img {
	display: block !important;
	width: 100% !important;
}

.roberin-about-figure img {
	height: auto !important;
	aspect-ratio: 16 / 9 !important;
	object-fit: cover !important;
	border: 2px solid #6b5745 !important;
	box-shadow: 4px 4px 0 rgba(82, 65, 50, 0.2) !important;
	background: #d9d1c6 !important;
}

.roberin-about-figure figcaption {
	margin-top: 10px !important;
	font-size: 13px !important;
	font-weight: 850 !important;
	line-height: 1.5 !important;
}

.roberin-about-section {
	padding: 24px !important;
	margin: 0 0 18px !important;
}

.roberin-about-story p {
	max-width: 880px !important;
}

.roberin-about-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 12px !important;
	margin-top: 16px !important;
}

.roberin-about-card {
	min-width: 0 !important;
	padding: 16px 15px !important;
	background: rgba(255, 255, 255, 0.42) !important;
	border: 1px solid rgba(107, 87, 69, 0.58) !important;
}

.roberin-about-card p {
	margin-bottom: 0 !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
}

.roberin-about-focus {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.46fr) !important;
	gap: 22px !important;
	align-items: start !important;
}

.roberin-about-list {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.roberin-about-note {
	background: #e2edd8 !important;
}

@media (max-width: 1024px) {
	.roberin-about-intro,
	.roberin-about-focus {
		grid-template-columns: 1fr !important;
	}

	.roberin-about-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	body.page-id-2293 .cs-site-content {
		overflow-x: clip !important;
	}

	.roberin-about-redesign {
		margin-bottom: 30px !important;
	}

	.roberin-about-intro,
	.roberin-about-section {
		padding: 18px 14px !important;
		box-shadow: 3px 3px 0 rgba(82, 65, 50, 0.2) !important;
	}

	.roberin-about-intro {
		gap: 18px !important;
	}

	.roberin-about-redesign h1,
	.roberin-about-redesign h2 {
		font-size: clamp(26px, 9vw, 38px) !important;
		line-height: 1.1 !important;
	}

	.roberin-about-redesign h3 {
		font-size: 16px !important;
	}

	.roberin-about-redesign p,
	.roberin-about-redesign li {
		font-size: 14px !important;
		line-height: 1.65 !important;
	}

	.roberin-about-lead {
		font-size: 15px !important;
	}

	.roberin-about-grid {
		grid-template-columns: 1fr !important;
	}

	.roberin-about-card {
		padding: 14px 12px !important;
	}
}


/* ROBERIN about action links - 2026-05-05 */
.roberin-about-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 9px !important;
	margin-top: 16px !important;
}

.roberin-about-actions a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 38px !important;
	padding: 8px 13px !important;
	color: #34281f !important;
	background: #ddbf6f !important;
	border: 1px solid #6b5745 !important;
	box-shadow: 2px 2px 0 rgba(82, 65, 50, 0.16) !important;
	font-size: 13px !important;
	font-weight: 950 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
}

.roberin-about-actions a + a {
	background: #fff7e8 !important;
}

.roberin-about-actions a:hover,
.roberin-about-actions a:focus {
	background: #e2edd8 !important;
	color: #34281f !important;
}

/* ROBERIN about width and heading hierarchy - 2026-05-05 */
body.page-id-2293 .roberin-about-redesign {
	max-width: 950px !important;
}

body.page-id-2293 .roberin-about-redesign h1 {
	margin-bottom: 8px !important;
	font-size: clamp(32px, 3.8vw, 48px) !important;
	line-height: 1.05 !important;
	letter-spacing: -0.055em !important;
}

body.page-id-2293 .roberin-about-redesign .roberin-about-intro-title {
	margin-bottom: 12px !important;
	font-size: clamp(24px, 3vw, 38px) !important;
	line-height: 1.12 !important;
	letter-spacing: -0.055em !important;
}

@media (max-width: 767px) {
	body.page-id-2293 .roberin-about-redesign h1 {
		font-size: clamp(29px, 8.4vw, 38px) !important;
	}

	body.page-id-2293 .roberin-about-redesign .roberin-about-intro-title {
		font-size: clamp(23px, 7vw, 32px) !important;
	}
}
