/*
 Theme Name:     Divi Child Theme
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Elegant Themes
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/
 
@import url("style.css");

/* General */
.mobile-menu, a.case-link::after, .menu-mobile-menu-container li a, .small-menu li a, #prev-next a span, #prev-next a, .index-bottom a {
	transition: .3s ease-in-out !important;
}
a.case-link p {
	transition: .15s ease-in-out !important;
}
body {
	overflow-x: hidden;
	margin: 0 !important;
	padding: 0 !important;
	background-color: #f5f1e5 !important;
}
.container, .et_pb_row {
	width: 90%;
	max-width: 90%;
}
#main-header .container, .container.prev-next, #index .container {
	max-width: 95%;
	width: 95%;
}
.et-waypoint.et_pb_animation_bottom.et-animated, .et_pb_animation_bottom.et-animated {
	animation: fadeBottom .5s cubic-bezier(.86,0,.07,1) 1 !important;
}
#main-header.light-header #top-menu li a, .et_pb_bg_layout_dark, .et_pb_bg_layout_dark h1, .et_pb_bg_layout_dark h2, .et_pb_bg_layout_dark h3, .et_pb_bg_layout_dark h4, .et_pb_bg_layout_dark h5, .et_pb_bg_layout_dark h6, #highlight .et_pb_bg_layout_dark * {
	color: #f6f0de !important;
}
*, .fact h5 {
	font-family: "Euclid", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif !important;
	letter-spacing: .5px;
}
h1,h2,h3,h4,h5,h6, h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, .sticky p, .menu-mobile-menu-container li a, .blog-text *, .blog-text, .fact * {
	font-family: "adobe-caslon-pro", "Georgia", "PingFang SC", "Microsoft YaHei", serif !important;
	letter-spacing: 2px;
	text-transform: none;
}
.fact h5 {
	font-family: "Euclid", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif !important;
	letter-spacing: .5px;
	text-transform: uppercase !important;
}
.fact * {
	text-transform: none;
	letter-spacing: 0;
	font-size: 14px;
}
.et_pb_section, .et_builder_inner_content, #et-main-area, #main-content {
	background: #f5f1e5;
}
#sidebar, #main-content .container::before, #top-menu .menu-item-has-children > a:first-child::after {
	display: none !important;
}
#left-area {
	width: 100% !important;
	padding-right: 0 !important;
}

/* Header */
#main-header.et-fixed-header, #main-header {
	box-shadow: none !important;
}
#logo {
	max-height: 16px !important;
	height: auto !important;
	width: auto !important;
	display: inline-block !important;
	float: none !important;
}
#top-menu li a {
	font-size: 11px !important;
}
#et-top-navigation, nav#top-menu-nav, #top-menu, nav.et-menu-nav, .et-menu {
	float: none !important;
	padding-left: 0 !important;
	text-align: center !important;
}
#top-menu .menu-item-has-children > a:first-child, #et-secondary-nav .menu-item-has-children > a:first-child {
	padding-right: 0 !important;
}
.nav li ul {
	top: 30px;
	border-top: none !important;
	padding: 0 !important;
	box-shadow: none !important;
}
#top-menu li li, #top-menu li li a {
	padding: 0 !important;
	background: none !important;
}
.mobile-menu {
	width: 20px;
	position: absolute;
	right: 0;
	top: 61px;
	cursor: pointer;
	z-index: 9999999999;
}
.mobile-menu span {
	margin-bottom: 5px;
	background: #383839;
	height: 1px;
	width: 100%;
	display: block;
	position: relative;
	transition: .3s ease-in-out !important;
}
#main-header.et-fixed-header .mobile-menu {
	top: 30px;
}
.hidden-mobile-menu {
	position: fixed;
	padding: 10%;
	top: -100vh;
	height: 100vh;
	width: 100%;
	background: #f5f1e5;
	z-index: 9999999;
	left: 0;
	transition: 1s cubic-bezier(0.76, 0, 0.24, 1) 0s;
}
.hidden-mobile-menu.opened {
	top: 0;
}
.mobile-menu.opened span:nth-child(1) {
	transform: rotate(45deg);
	top: 3px;
}
.mobile-menu.opened span:nth-child(3) {
	transform: rotate(-45deg);
	top: -3px;
}
.mobile-menu.opened span:nth-child(2) {
	display: none;
}
.menu-mobile-menu-container li {
	margin-bottom: 20px;
	line-height: 50px;
}
.menu-mobile-menu-container ul.sub-menu {
	position: absolute;
	top: 0px;
	right: -450px;
	display: none;
	width: 450px;
}
.menu-mobile-menu-container li.menu-item-has-children:hover > .sub-menu {
	opacity: 1;
	top: 0;
}
.menu-mobile-menu-container li a {
	font-size: 30px !important;
	text-transform: uppercase;
	letter-spacing: 5px;
	color: #000 !important;
	opacity: .3;
}
.menu-mobile-menu-container li a:hover, .small-menu li a:hover, .menu-mobile-menu-container li.current-menu-item > a {
	opacity: 1 !important;
}
#menu-mobile-menu {
	width: 450px;
	position: relative;
}
.small-menu {
	position: absolute;
	bottom: 10%;
}
.small-menu li a {
	text-transform: uppercase;
	opacity: .3;
}
.small-menu li {
	display: inline-block;
}
.small-menu li::after {
	content: "|";
	display: inline-block;
	opacity: .3;
	margin: 0 15px;
}
.small-menu li:last-child::after {
	display: none;
}
#main-header.light-header .mobile-menu span {
	background: #f6f0de !important;
}
#main-header.light-header #logo {
	filter: invert(100%);
}
#main-header.et-fixed-header #logo {
	filter: invert(0%) !important;
}
#main-header.et-fixed-header .mobile-menu span {
	background: #383839 !important;
}
#main-header.et-fixed-header #top-menu li a {
	color: #383839 !important;
}
#main-header #top-menu-nav li.current-menu-ancestor > a, #main-header #top-menu-nav li.current-menu-item > a {
	font-weight: 900 !important;
}

/* Page */
#front {
	padding-top: 0 !important;
}

/* 板块间距 */
.et_pb_section.et_pb_section_4 { padding-top: 40px !important; padding-bottom: 40px !important; }
.et_pb_section.et_pb_section_1 { padding-top: 40px !important; padding-bottom: 40px !important; }
.et_pb_section.et_pb_section_6 { padding-top: 40px !important; padding-bottom: 40px !important; }
.et_pb_section.et_pb_section_8 { padding-top: 40px !important; padding-bottom: 40px !important; }
.et_pb_section.et_pb_section_9 { padding-top: 40px !important; padding-bottom: 40px !important; }
.et_pb_section.et_pb_section_2, .et_pb_section.et_pb_section_5, .et_pb_section.et_pb_section_7 { padding-top: 0 !important; padding-bottom: 40px !important; }

/* 轮播核心修复 */
/* 1. 确保轮播容器正确display */
.et_pb_slider {
	display: block !important;
	position: relative !important;
	overflow: hidden !important;
}
.et_pb_slides {
	display: block !important;
	position: relative !important;
}
/* 2. 轮播slide显示控制 */
.et_pb_slide {
	display: none !important;
	position: relative !important;
	opacity: 0 !important;
	transition: opacity 0.8s ease-in-out !important;
	min-height: 100vh !important;
	height: 100vh !important;
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
}
.et_pb_slide.et-pb-active-slide {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 1 !important;
}
.et_pb_slide::before {
	content: '' !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	background: rgba(0,0,0,0.1) !important;
	z-index: 1 !important;
}
.et_pb_slides .et_pb_slider_container_inner {
	vertical-align: bottom;
}
.et_pb_slide_description, .et_pb_slider_fullwidth_off .et_pb_slide_description {
	padding: 0 8% 50px !important;
}
.et-pb-arrow-next, .et-pb-arrow-prev {
	font-size: 30px !important;
}
.et_pb_slide_description .et_pb_slide_title, #main-content h2, #main-content h4.et_pb_module_header {
	font-size: 16px !important;
	font-weight: 700 !important;
	margin-bottom: 10px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
div.sticky {
	position: sticky;
	float: left;
	width: 5px;
	top: 40%;
	bottom: 80px;
	margin-bottom: 80px !important;
	z-index: 1;
}
div.sticky-right {
	float: right;
}
.sticky p {
	position: absolute;
	left: -30px;
	text-align: center;
	white-space: nowrap;
	font-size: 12px;
	z-index: 0;
	pointer-events: none;
}
div.sticky-right p {
	left: inherit;
	right: -30px;
	text-align: center;
}
.image-wrapper {
	position: relative;
	z-index: 2;
}
a.case-link::after {
	display: block;
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	left: 0;
	bottom: 6px;
	background: rgba(245,241,229,.2);
	color: white;
	text-align: center;
	opacity: 0;
}
a.case-link p {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	text-align: center;
	display: grid;
	align-content: center;
	z-index: 999999;
	color: white;
	text-transform: uppercase;
	font-size: 18px !important;
	letter-spacing: 5px !important;
	top: -10px;
	opacity: 0;
}
a.case-link:hover p {
	top: 0;
	opacity: 1;
}
a.case-link:hover::after {
	opacity: 1;
}
#cases {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 1fr;
	grid-column-gap: 1.3vw;
	grid-row-gap:  1.3vw;
}
#philosophy, #cases-two, #cases-five, #cases-six, #cases-three, #cases-four {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-column-gap: 1.3vw;
	grid-row-gap:  1.3vw;
}
#cases-two {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
#cases-five {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 1.3vw;
	grid-row-gap: 1.3vw;
}
#cases-six {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
#cases-three {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}
#cases-four {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
}
.cases-item {
	margin-bottom: 0 !important;
}

.cases-item .image-wrapper {
	overflow: hidden !important;
	aspect-ratio: 4 / 3 !important;
}

.cases-item .image-wrapper a {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

.cases-item .image-wrapper img {
	width: 100% !important;
	height: 100% !important;
	display: block !important;
	object-fit: cover !important;
	aspect-ratio: auto !important;
}
.div1 { grid-area: 1 / 1 / 2 / 3; }
.div2 { grid-area: 1 / 3 / 2 / 4; }
.div3 { grid-area: 1 / 4 / 2 / 5; }
.div4 { grid-area: 2 / 1 / 3 / 2; }
.div5 { grid-area: 2 / 2 / 3 / 3; }
.div6 { grid-area: 2 / 3 / 3 / 5; }
#cases h2.title, #philosophy h2.title, #cases-two h2.title, #cases-five h2.title, #cases-six h2.title, #cases-three h2.title, #cases-four h2.title  {
	padding-top: 20px;
	letter-spacing: 2px !important;
}
.tags {
	margin-top: 20px;
}
#highlight .tags {
	margin-top: 0;
}
.et_pb_slide_content, #highlight .highlight-content {
	max-width: 750px;
	margin: auto auto 0 !important;
	font-size: 11px !important;
}
.highlight-content {
	position: absolute;
	bottom: 50px;
	left: 0;
	right: 0;
}
#highlight .et_pb_column, #highlight .et_pb_row {
	position: static;
}
.tags, .tags *, .et_main_title .et_project_categories * {
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #666;
}
.tags p {
	display: inline-block;
}
.tags span {
	margin: 0 10px;
}
#highlight {
	height: calc(100vh - 70px) !important;
	display: grid;
	align-content: center;
	background-size: cover !important;
}
#main-content .project-title h2, .et_pb_title_container h1, .single-project .et_main_title h1 {
	font-size: 30px !important;
	letter-spacing: 15px !important;
	margin-bottom: 10px !important;
}

/* Single Project */
.single-project #highlight {
	height: 100vh !important;
}
.single-project #highlight .tags a {
	margin: 0 10px;
}
.blog-text *, .blog-text {
	font-size: 18px;
	line-height: 28px;
	text-transform: none;
}
.blog-text.quote * {
	font-size: 22px;
	line-height: 32px;
}
.blog-text p {
	padding-bottom: 30px;
}
.blog-text p::first-letter {
	padding-left: 40px;
}
.blog-text.no-padding p::first-letter {
	padding-left: 0px;
}
.blog-text p:first-child::first-letter {
	padding-left: 40px;
}
.border-bottom {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid rgba(0,0,0,0.1);
}
.located *, .fact h5, #prev-next *, .index-bottom * {
	font-size: 10px !important;
	text-transform: uppercase;
	letter-spacing: 2px !important;
	font-weight: 600 !important;
}
.located {
	margin-top: 30px;
}
#gallery .et_pb_column_1_3 {
	width: calc(33.3% - 14px);
	margin-right: 20px;
}
#gallery .et_pb_column_1_2 {
	width: calc(50% - 10px);
	margin-right: 20px;
}
.fact {
	margin-bottom: 20px !important;
}
.single-project .et_pb_module {
	margin-bottom: 30px !important;
}
.single-project .et_pb_module.et_pb_code.sticky {
	margin-bottom: 0 !important;
}
.single-project .et_pb_code.sticky p {
	left: -5vw;
}
.single-project .et_pb_code.sticky-right p {
	right: -5vw;
	left: inherit;
}
#prev-next, .index-bottom {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: 40px;
	padding-bottom: 58px;
}
.index-bottom {
	grid-template-columns: 1fr 1fr;
}
.index-right {
	text-align: right;
}
#prev-next .center {
	text-align: center;
}
#prev-next .right {
	text-align: right;
}
#prev-next *, .index-bottom * {
	color: #666;
}
#prev-next a:hover *, .index-bottom a:hover {
	color: black !important;
}
#prev-next span.seperate {
	margin: 0 10px;
}
#index {
	background: #e1dbd0;
	padding-bottom: 78px;
}
#main-content #index h2 {
	padding: 20px 0 35px;
	text-align: center;
}
.index-wrapper {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(8%, 1fr));
	grid-auto-rows: 1fr;
	grid-gap: .5vw;
  }
  
  .landscape {
	grid-column: span 2;
	text-align: center;
  }
  
  .portrait {
	grid-column: span 1;
	text-align: center;
  }
.landscape p, .portrait p {
	font-size: 10px;
	font-weight: 600;
}
.index-bottom {
	padding-top: 78px;
}
.index-bottom a::after, .right span.meta-nav::after {
	display: inline-block;
	content: '"';
	font-family: ETmodules !important;
	position: relative;
	top: 1px;
	margin-left: 5px;
}
.right span.meta-nav::after {
	content: "5";
}
.short-right .slick-slide {
	margin: 0 !important;
}
.short-left, .short-right {
	width: 50% !important;
	display: inline-block;
	vertical-align: top;
} 
.short-right .slick-slide img {
	max-height: inherit !important;
}
.short-right {
	position: sticky;
	top: 0;
	align-self: start;
}
.short-left .et_main_title, .short-left .short-left-content {
	padding: 50px 100px;
}
.short-left .et_main_title {
	padding-top: 250px;
	text-align: center;
}
.short-left #index .container {
	padding-top: 50px !important;
}
.short-left #index {
	padding-bottom: 0 !important;
	margin-bottom: 6px;
}
#main-content .short-left .container {
	max-width: 90% !important;
}
.short-left .index-wrapper {
	grid-template-columns: repeat(auto-fill, minmax(15%, 1fr));
}
#main-content .short-left #index h2 {
	padding-bottom: 50px !important;
}
.et_main_title .et_project_categories *, .et_main_title .et_project_categories {
	font-size: 11px !important;
	color: #666 !important;
}
.et_main_title .et_project_categories a {
	margin: 0 10px;
}
.slick-dots {
	bottom: 40px !important;
	padding-bottom: 0 !important;
	padding-left: 0 !important;
	text-align: right;
	padding-right: 40px !important;
	margin-left: 50%;
	width: 50%;
}
.slick-prev::before, .slick-next::before { 
	font-family: ETmodules !important;
	content: "4";
	font-size: 26px !important;
}
.slick-prev, .slick-next {
	top: inherit;
	bottom: 40px;
}
.slick-prev {
	left: 30px !important;
	z-index: 99;
}
.slick-next {
	right: inherit !important;
	left: 75px !important;
}
.slick-next::before {
	content: '5' !important;
}
.slick-dots li {
	width: 15px;
	margin: 0;
}
.slick-dots li button::before {
	color: white !important;
	opacity: .5 !important;
}
.slick-dots li.slick-active button::before {
	opacity: 1 !important;
}
.slick-dotted.slick-slider {
	margin-bottom: 0 !important;
}
.single-project #left-area {
	padding-bottom: 0 !important;
}
.mfp-iframe-holder .mfp-close, .mfp-image-holder .mfp-close {
	opacity: 1 !important;
	position: absolute;
	font-size: 34px;
	top: -3px !important;
}

/* Archives */
.archive div.sticky {
	margin-bottom: 218px !important;
}

/* Contact */
#contact-row {
	min-height: 100vh;
}
.align-center {
	display: grid;
	align-content: center;
}
.contact-text h2 {
	padding-bottom: 0 !important;
}
.contact-text {
	margin-bottom: 0px !important;
	padding-bottom: 0px !important;
}
.contact-text::after {
	display: block;
	width: 20px;
	height: 1px;
	margin: 20px auto 30px;
	background: rgba(0,0,0,0.2);
	content: "";
}
.contact-text.last::after {
	display: none !important;
}
.contact-bottom-text {
	position: absolute;
	bottom: 20px;
	left: 0;
	max-width: 500px;
	margin: auto;
	right: 0;
}

/* Studio */
#main-content h4.et_pb_module_header {
	margin-top: 40px !important;
}
#main-content .sticky.studio {
	margin-bottom: 125px !important;
	top: 30% !important;
}
#people .tags {
	margin-bottom: 40px !important;
}

/* Footer */
#footer-widgets {
	padding: 60px 0 30px !important;
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: space-between !important;
}
#footer-widgets .footer-widget {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: 22% !important;
	margin-right: 0 !important;
	margin-bottom: 30px !important;
}
#footer-widgets .footer-widget:first-child {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: 30% !important;
}
#footer-widgets .footer-widget li::before {
	display: none !important;
}
#main-footer .footer-widget h4, .small-menu li a {
	margin-bottom: 15px !important;
	font-family: "Euclid", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif !important;
	letter-spacing: 2px !important;
}
#footer-widgets .footer-widget li {
	padding-left: 0 !important;
}
#main-footer img:not([alt*="微信"]) {
	height: 14px !important;
	width: auto !important;
}
#footer-info, .footer-column {
	display: inline-block;
	width: 49.5%;
	vertical-align: middle;
	float: none !important;
}
.footer-column p, .footer-column span {
	font-size: 11px;
	color: #666;
}
.footer-column span {
	margin: 0 15px;
}


/* Mobile */
@media only screen and (max-width: 1000px) {
	/* Header */
	.et_header_style_left .logo_container {
		padding-top: 20px;
	}
	.mobile-menu {
		top: 25px;
	}
	#et_mobile_nav_menu {
		display: none !important;
	}
	.menu-mobile-menu-container li a {
		font-size: 24px !important;
	}
	.menu-mobile-menu-container li {
		margin-bottom: 10px;
	}
	.hidden-mobile-menu {
		padding-top: 70px;
	}
	/* Slider */
	.et_pb_slide {
		height: 70vh;
	}
	.et_pb_slide_content, #highlight .highlight-content, .cases-excerpt p {
		font-size: 10px !important;
		line-height: 16px !important;
	}
	.et_pb_slide_description, .et_pb_slider_fullwidth_off .et_pb_slide_description {
		padding: 0 0% 50px !important;
	}
	.et_main_title .et_project_categories span.brand {
		margin-right: 10px;
	}
	/* Page */
	#cases {
		display: block !important;
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		grid-column-gap: 20px;
		grid-row-gap: 20px;
	}
	.div1, .div2, .div3, .div4, .div5, .div6 {
		grid-area: auto !important;
	}
	#cases .cases-item {
		width: 100% !important;
		display: block;
		margin-right: 0 !important;
		margin-bottom: 20px;
	}
	#cases h2.title, #philosophy h2.title, #cases-two h2.title, #cases-five h2.title, #cases-six h2.title, #cases-three h2.title, #cases-four h2.title, #main-content h2 {
		letter-spacing: 3px !important;
		line-height: 18px;
	}
	#main-content #highlight h2 {
		line-height: 38px;
	}
	.tags {
		margin-top: 20px;
		line-height: 7px;
		font-size: 9px !important;
	}
	.tags p a:first-child, .tags p span {
		display: none !important;
	}
	div.sticky, #cases .cases-item.div6 {
		display: none !important;
	}
	#highlight, .single-project #highlight {
		height: 70vh !important;
	}
	#highlight .highlight-content {
		padding: 0 5%;
	}
	#philosophy, #cases-two, #cases-five, #cases-six, #cases-three, #cases-four {
		grid-template-columns: 1fr 1fr;
		grid-column-gap: 4%;
		grid-row-gap: 4%;
	}
	#cases-two, #cases-five {
		grid-template-columns: 1fr;
	}
	.cases-item {
		margin-bottom: 0;
	}
	#cases .cases-item {
		margin-bottom: 50px;
	}
	#cases-six .cases-item:last-child, #cases-three .cases-item:last-child {
		display: none !important;
	}
	.cases-excerpt p {
		overflow: hidden;
		display: -webkit-box;
		-webkit-line-clamp: 5;
		-webkit-box-orient: vertical;
	}

	/* Page */
	#contact-row .et_pb_column_empty {
		min-height: 50vh !important;
		display: block !important;
		margin-top: 65px !important;
		margin-bottom: 65px !important;
	}
	.contact-bottom-text {
		position: relative;
		bottom: inherit;
		margin-top: 100px;
		max-width: 90%;
	}
	/* Project */
	#gallery.et_pb_row, .single-project #main-content .et_pb_row {
		max-width: 90%;
		width: 90%;
	}
	.single-project #highlight {
		height: 30vh !important;
	}
	.single-project #main-content #highlight {
		max-width: 90%;
		width: 90%;
	}
	.single-project #main-content #highlight.et_pb_section_0 {
		height: 70vh !important;
		max-width: 100%;
		width: 100%;
	}
	.single-project .quote *, .single-project .located *, .single-project .fact * {
		text-align: center !important;
	}
	#prev-next, .index-bottom {
		grid-template-columns: 1fr;
	}
	#prev-next * {
		text-align: center !important;
	}
	#prev-next .center {
		padding: 30px 0;
	}
	.index-wrapper {
		grid-template-columns: repeat(auto-fill, minmax(20%, 1fr));
		grid-auto-rows: 1fr;
		grid-gap: 1.5vw;
	}
	#people .tags p a:first-child, #people .tags p span {
		display: inline-block !important;
	}
	.page-id-6 #highlight, .page-id-6 #front .et_pb_slide {
		height: 30vh !important;
	}

	/* Footer */
	#footer-widgets .footer-widget:nth-child(1) {
		padding: 50px 0 30px;
	}
	#footer-widgets .footer-widget:nth-child(2), #footer-widgets .footer-widget:nth-child(3), #footer-widgets .footer-widget:nth-child(4) {
		width: 33% !important;
	}
	#footer-widgets .footer-widget:nth-child(5), #footer-info {
		display: none !important;
	}
	#footer-info, .footer-column {
		padding-bottom: 20px;
		text-align: right;
		width: 100%;
	}
}

/* ===== Additional Overrides ===== */

#page-container {
	overflow-x: hidden;
}

/* Header overrides */
#main-header {
position: fixed !important;
top: 0 !important;
left: 0 !important;
right: 0 !important;
width: 100% !important;
z-index: 99999 !important;
background: #f5f1e5 !important;
padding: 0 !important;
margin: 0 !important;
border: none !important;
box-shadow: none !important;
}

#main-header .container,
#main-header .container.et_menu_container {
max-width: 1400px !important;
width: 95% !important;
padding: 0 !important;
margin: 0 auto !important;
display: flex !important;
flex-direction: column !important;
align-items: center !important;
flex-wrap: nowrap !important;
}

#main-header .container.et_menu_container::before,
#main-header .container.et_menu_container::after,
.clearfix::before,
.clearfix::after {
content: none !important;
display: none !important;
clear: none !important;
}

.logo_container {
text-align: center !important;
padding: 12px 0 6px 0 !important;
width: 100% !important;
display: block !important;
float: none !important;
clear: both !important;
position: relative !important;
left: auto !important;
right: auto !important;
order: 1 !important;
flex: none !important;
}

#main-header .logo_container a {
display: inline-block !important;
float: none !important;
}

#et-top-navigation {
width: 100% !important;
padding: 0 0 12px 0 !important;
margin: 0 !important;
display: block !important;
float: none !important;
clear: both !important;
position: relative !important;
order: 2 !important;
flex: none !important;
}

#top-menu-nav {
text-align: center !important;
padding: 0 !important;
width: 100% !important;
display: block !important;
float: none !important;
}

#top-menu {
display: inline-flex !important;
justify-content: center !important;
align-items: center !important;
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
float: none !important;
}

#top-menu-right {
display: inline-flex !important;
justify-content: center !important;
align-items: center !important;
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
float: none !important;
}

#top-menu li, #top-menu-right li {
display: inline-block !important;
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
float: none !important;
}

#top-menu li a, #top-menu-right li a {
display: inline-block !important;
font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
font-size: 10px !important;
font-weight: 400 !important;
letter-spacing: 1.5px !important;
text-transform: uppercase !important;
color: #333 !important;
text-decoration: none !important;
padding: 0 10px !important;
line-height: 1 !important;
float: none !important;
}

#top-menu li a span, #top-menu-right li a span {
display: none !important;
}

.mobile-menu {
position: absolute !important;
top: 22px !important;
right: 40px !important;
cursor: pointer;
z-index: 9999999999 !important;
}

.mobile-menu span {
background: #000 !important;
margin-bottom: 4px;
}

#et_top_search {
display: none !important;
}

#main-header.light-header #top-menu li a {
color: #000 !important;
}

#main-header.light-header .mobile-menu span {
background: #000 !important;
}

#main-header.light-header #logo {
filter: none !important;
}

#main-header.et-fixed-header {
background: rgba(245,241,229,0.95) !important;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}

#main-header.et-fixed-header #top-menu li a {
color: #000 !important;
}

#main-header.et-fixed-header .mobile-menu span {
background: #000 !important;
}

#main-header.et-fixed-header #logo {
filter: none !important;
}

/* Hero slider */
#front {
padding: 0 !important;
margin: 0 !important;
}

#front .et_pb_row,
#front .et_pb_row_0 {
padding: 0 !important;
margin: 0 !important;
max-width: 100% !important;
width: 100% !important;
}

.et_pb_slider_0 {
margin: 0 !important;
padding: 0 !important;
}

.et_pb_slide_description {
text-align: center !important;
padding: 0 10% !important;
position: absolute !important;
bottom: 15% !important;
left: 0 !important;
right: 0 !important;
}

.et_pb_slide_title {
font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
font-size: 14px !important;
font-weight: 400 !important;
letter-spacing: 4px !important;
text-transform: uppercase !important;
color: #fff !important;
margin: 0 0 15px 0 !important;
padding: 0 !important;
line-height: 1.4 !important;
}

.et_pb_slide_content {
max-width: 600px !important;
margin: 0 auto !important;
padding: 0 !important;
}

.et_pb_slide_content p {
	font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
	font-size: 13px !important;
	font-weight: 300 !important;
	letter-spacing: 1px !important;
	color: rgba(255,255,255,0.85) !important;
	line-height: 1.8 !important;
	margin: 0 0 10px 0 !important;
	padding: 0 !important;
}

/* Hero CTA buttons */
.hero-cta-wrapper {
	margin-top: 24px;
	display: flex;
	gap: 16px;
	justify-content: center;
}
.hero-cta-btn {
	display: inline-block;
	padding: 14px 36px;
	border: 1px solid rgba(255,255,255,0.5);
	background: rgba(255,255,255,0.15);
	backdrop-filter: blur(10px);
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 11px;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #fff;
	text-decoration: none;
	transition: all 0.3s;
}
.hero-cta-btn:hover {
	background: #fff;
	color: #2a2a2a;
	border-color: #fff;
}
.hero-cta-btn-outline {
	background: transparent;
	border-color: rgba(255,255,255,0.3);
}
.hero-cta-btn-outline:hover {
	background: rgba(255,255,255,0.1);
	color: #fff;
	border-color: rgba(255,255,255,0.6);
}
@media only screen and (max-width: 600px) {
	.hero-cta-wrapper { flex-direction: column; align-items: center; }
	.hero-cta-btn { padding: 12px 28px; font-size: 10px; }
}

.et-pb-arrow-next, .et-pb-arrow-prev {
color: #fff !important;
opacity: 0.6 !important;
font-size: 24px !important;
}

.et-pb-arrow-next:hover, .et-pb-arrow-prev:hover {
opacity: 1 !important;
}

.et-pb-arrow-prev {
left: 40px !important;
}

.et-pb-arrow-next {
right: 40px !important;
}

/* Section titles */
.et_pb_text_inner h2 {
font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
font-size: 10px !important;
font-weight: 400 !important;
letter-spacing: 4px !important;
text-transform: uppercase !important;
color: #000 !important;
margin: 0 !important;
padding: 0 !important;
line-height: 1 !important;
}

/* Case grid */
.cases-item h2.title {
font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
font-size: 11px !important;
font-weight: 400 !important;
letter-spacing: 2px !important;
text-transform: uppercase !important;
color: #000 !important;
margin: 15px 0 0 0 !important;
padding: 0 !important;
}

.cases-excerpt p {
font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
font-size: 11px !important;
font-weight: 300 !important;
letter-spacing: 0.5px !important;
color: #666 !important;
line-height: 1.7 !important;
margin: 10px 0 0 0 !important;
padding: 0 !important;
}

.tags a {
font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
font-size: 9px !important;
letter-spacing: 1.5px !important;
text-transform: uppercase !important;
color: #999 !important;
text-decoration: none !important;
}

.tags span {
	color: #ccc !important;
}

a.case-link:hover img {
opacity: 0.85 !important;
}

/* Brand promise carousels */
.et_pb_slider_1, .et_pb_slider_2, .et_pb_slider_3 {
margin: 0 !important;
overflow: hidden !important;
position: relative !important;
}

.et_pb_slider_1 .et_pb_slides,
.et_pb_slider_2 .et_pb_slides,
.et_pb_slider_3 .et_pb_slides {
display: block !important;
overflow: hidden !important;
position: relative !important;
}

.et_pb_slider_1 .et_pb_slide,
.et_pb_slider_2 .et_pb_slide,
.et_pb_slider_3 .et_pb_slide {
display: none !important;
opacity: 0 !important;
visibility: hidden !important;
position: absolute !important;
top: 0 !important;
left: 0 !important;
width: 100% !important;
height: 100% !important;
transition: opacity 0.8s ease-in-out, visibility 0.8s ease-in-out !important;
}

.et_pb_slider_1 .et_pb_slide.et-pb-active-slide,
.et_pb_slider_2 .et_pb_slide.et-pb-active-slide,
.et_pb_slider_3 .et_pb_slide.et-pb-active-slide {
display: block !important;
opacity: 1 !important;
visibility: visible !important;
position: relative !important;
}

.et_pb_slider_1 .et_pb_container,
.et_pb_slider_2 .et_pb_container,
.et_pb_slider_3 .et_pb_container {
padding: 0 !important;
margin: 0 !important;
}

/* Case detail page Slick carousel */
.short-right .slick-slide img,
.single-item .slick-slide img,
#product-gallery .slick-slide img {
	width: 100% !important;
	height: auto !important;
	max-height: 100vh !important;
	aspect-ratio: auto !important;
	object-fit: contain !important;
	display: block !important;
}
.short-right .lazyload,
.single-item .lazyload,
#product-gallery .lazyload {
	width: 100% !important;
	aspect-ratio: auto !important;
}

/* Case detail material tags */
.case-material-tags {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid rgba(0,0,0,0.06);
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.case-material-tag {
	display: inline-block;
	padding: 6px 14px;
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 1px;
	font-size: 10px;
	letter-spacing: 1px;
	color: #888;
}
.case-material-tag strong { font-weight: 500; color: #555; margin-right: 4px; }

/* Sticky labels */
.sticky p {
font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
font-size: 9px !important;
letter-spacing: 3px !important;
text-transform: uppercase !important;
color: #ccc !important;
}

/* Footer overrides */
#main-footer {
background: #f5f1e5 !important;
padding: 80px 0 40px !important;
}

#footer-widgets .footer-widget {
margin-bottom: 30px !important;
}

#footer-widgets .footer-widget h4 {
font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
font-size: 9px !important;
font-weight: 400 !important;
letter-spacing: 3px !important;
text-transform: uppercase !important;
color: #000 !important;
margin: 0 0 20px 0 !important;
padding: 0 !important;
}

#footer-widgets .footer-widget li a {
font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
font-size: 11px !important;
font-weight: 300 !important;
letter-spacing: 0.5px !important;
color: #666 !important;
text-decoration: none !important;
display: block !important;
padding: 3px 0 !important;
}

#footer-widgets .footer-widget li a:hover {
color: #000 !important;
}

#footer-widgets .footer-widget p {
font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
font-size: 11px !important;
font-weight: 300 !important;
letter-spacing: 0.5px !important;
color: #666 !important;
line-height: 1.7 !important;
margin: 0 0 8px 0 !important;
padding: 0 !important;
}

#footer-bottom {
border-top: 1px solid rgba(0,0,0,0.08) !important;
margin-top: 40px !important;
padding-top: 20px !important;
}

.footer-column p {
font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
font-size: 10px !important;
letter-spacing: 1px !important;
color: #999 !important;
margin: 0 !important;
padding: 0 !important;
}

#main-content {
padding: 0 !important;
}

.et_builder_inner_content {
padding: 0 !important;
}

/* Mobile menu submenu (extracted from per-page inline) */
#main-header .et_mobile_menu .menu-item-has-children > a { background-color: transparent; position: relative; }
#main-header .et_mobile_menu .menu-item-has-children > a:after { font-family: 'ETmodules'; text-align: center; speak: none; font-weight: normal; font-variant: normal; text-transform: none; -webkit-font-smoothing: antialiased; position: absolute; }
#main-header .et_mobile_menu .menu-item-has-children > a:after { font-size: 20px; content: '3'; top: 9px; right: 0px; }
#main-header .et_mobile_menu .menu-item-has-children.visible > a:after { content: '2'; }
#main-header .et_mobile_menu ul.sub-menu { display: none !important; visibility: hidden !important; transition: all 1.5s ease-in-out; }
#main-header .et_mobile_menu .visible > ul.sub-menu { display: block !important; visibility: visible !important; }

/* About page - replace emoji with dots */
.award-list ul { list-style: none !important; padding: 0 !important; }
.award-list li { position: relative; padding: 0 0 10px 20px; }
.award-list li::before { content: ''; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; background: #000; border-radius: 50%; }

/* ===== Contact Page ===== */
#contact-row .et_pb_column_0 {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	padding: 60px 8% !important;
}
.contact-text {
	margin-bottom: 32px !important;
	padding-bottom: 32px !important;
	position: relative;
}
.contact-text::after {
	display: block;
	width: 24px;
	height: 1px;
	margin: 24px auto 0;
	background: rgba(0,0,0,0.12);
	content: '';
}
.contact-text.last::after { display: none !important; }
.contact-text h2 {
	font-size: 22px !important;
	font-weight: 400 !important;
	letter-spacing: 3px !important;
	margin-bottom: 12px !important;
	color: #2a2a2a !important;
}
.contact-text p {
	font-size: 13px !important;
	line-height: 1.8 !important;
	max-width: 440px;
	margin: 0 auto;
	color: #555;
}
.contact-bottom-text {
	position: relative !important;
	bottom: auto !important;
	left: auto !important;
	right: auto !important;
	max-width: 440px !important;
	margin: 12px auto 0 !important;
	padding: 20px 24px !important;
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 2px;
}
.contact-bottom-text * {
	font-size: 12px !important;
	color: #888 !important;
	line-height: 1.8 !important;
	letter-spacing: 0.5px !important;
}

/* ===== About Page ===== */
#about-intro { max-width: 640px; margin: 0 auto; }
#about-intro h1 { font-size: 20px; letter-spacing: 4px; font-weight: 400; margin-bottom: 24px; }
#about-intro .blog-text { font-size: 14px; line-height: 2; color: #555; }
#about-intro .blog-text p { padding-bottom: 20px; }
#about-intro .blog-text p::first-letter { padding-left: 0; }

#awards {
	padding-top: 60px !important;
	padding-bottom: 80px !important;
}
#awards h2 {
	font-size: 11px !important;
	letter-spacing: 4px !important;
	text-transform: uppercase !important;
	margin-bottom: 32px !important;
	font-weight: 400 !important;
}
.award-list li {
	padding: 12px 0 12px 24px !important;
	border-bottom: 1px solid rgba(0,0,0,0.05);
	font-size: 13px;
	line-height: 1.8;
	color: #444;
}
.award-list li:last-child { border-bottom: none; }
.award-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 21px;
	width: 5px;
	height: 5px;
	background: #666;
	border-radius: 50%;
}
.award-list li strong { font-weight: 600; color: #222; display: inline-block; min-width: 130px; }

/* ===== Furniture Page ===== */
.furniture-breadcrumb {
	padding: 14px 0 40px !important;
	font-size: 11px !important;
	letter-spacing: 2px !important;
	text-transform: uppercase;
	color: #999 !important;
}
.furniture-breadcrumb a { color: #666 !important; text-decoration: none; }
.furniture-breadcrumb a:hover { color: #000 !important; }
.furniture-page-title h1 {
	font-size: 18px !important;
	letter-spacing: 5px !important;
	margin-bottom: 50px !important;
	font-weight: 400 !important;
}

@media only screen and (max-width: 1000px) {
	#contact-row .et_pb_column_0 { padding: 40px 6% !important; }
	.contact-text h2 { font-size: 18px !important; }
	#about-intro { padding: 0 5%; }
	.award-list li strong { display: block; min-width: auto; margin-bottom: 2px; }
}

/* ===== Brand News Page ===== */
.news-hero {
position: relative;
min-height: 45vh;
display: flex;
align-items: flex-end;
padding: 80px 8% 60px;
background-size: cover;
background-position: center;
margin-bottom: 80px;
}
.news-hero::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 60%);
z-index: 1;
}
.news-hero-content {
position: relative;
z-index: 2;
max-width: 640px;
}
.news-hero-content h1 {
font-size: 32px;
font-weight: 300;
letter-spacing: 6px;
color: #fff;
margin: 0 0 12px;
}
.news-hero-content p {
font-size: 13px;
line-height: 1.8;
color: rgba(255,255,255,0.75);
margin: 0;
letter-spacing: 0.5px;
}

/* News Grid */
.news-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-column-gap: 2vw;
grid-row-gap: 60px;
max-width: 90%;
margin: 0 auto 80px;
}
.news-card {
	border-bottom: 1px solid rgba(0,0,0,0.06);
	padding-bottom: 30px;
	display: block;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	transition: opacity 0.3s;
}
.news-card:hover { opacity: 0.7; }
.news-card-image {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
	margin-bottom: 20px;
	background: #e8e4da;
}
.news-card-date {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 10px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #999;
	margin-bottom: 10px;
}
.news-card h2 {
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 1px;
	line-height: 1.5;
	margin: 0 0 10px;
	color: #2a2a2a;
}
.news-card-excerpt {
font-size: 12px;
line-height: 1.8;
color: #888;
letter-spacing: 0.3px;
}
.news-card-tag {
display: inline-block;
font-size: 9px;
letter-spacing: 1.5px;
text-transform: uppercase;
color: #bbb;
margin-top: 14px;
padding: 2px 10px;
border: 1px solid rgba(0,0,0,0.08);
border-radius: 1px;
}

/* Single article */
.news-article {
max-width: 720px;
margin: 0 auto;
padding: 60px 0 80px;
}
.news-article-header { text-align: center; margin-bottom: 50px; }
.news-article-header .news-card-date { margin-bottom: 16px; }
.news-article-header h1 {
font-size: 28px;
font-weight: 300;
letter-spacing: 4px;
line-height: 1.4;
color: #2a2a2a;
margin: 0 0 20px;
}
.news-article-featured {
width: 100%;
aspect-ratio: 16 / 9;
object-fit: cover;
margin-bottom: 50px;
}
.news-article-body {
font-size: 14px;
line-height: 2;
color: #555;
letter-spacing: 0.3px;
}
.news-article-body p { margin-bottom: 24px; }
.news-article-body h2 {
font-size: 18px;
font-weight: 400;
letter-spacing: 2px;
margin: 40px 0 20px;
color: #2a2a2a;
}
.news-article-body blockquote {
border-left: 2px solid rgba(0,0,0,0.1);
padding: 10px 0 10px 24px;
margin: 30px 0;
font-size: 15px;
color: #888;
line-height: 1.9;
}
.news-back {
text-align: center;
padding-bottom: 60px;
}
.news-back a {
font-size: 11px;
letter-spacing: 3px;
text-transform: uppercase;
color: #999;
text-decoration: none;
border-bottom: 1px solid rgba(0,0,0,0.08);
padding-bottom: 4px;
transition: all 0.3s;
}
.news-back a:hover { color: #000; border-color: rgba(0,0,0,0.3); }

@media only screen and (max-width: 1000px) {
.news-grid { grid-template-columns: 1fr 1fr; max-width: 95%; }
.news-hero { min-height: 35vh; padding: 60px 6% 40px; }
.news-hero-content h1 { font-size: 22px; letter-spacing: 4px; }
.news-article { padding: 40px 6% 60px; }
}
@media only screen and (max-width: 600px) {
.news-grid { grid-template-columns: 1fr; }
}

/* ===== About Page ===== */
.about-hero {
position: relative;
min-height: 60vh;
display: flex;
align-items: center;
justify-content: center;
background-size: cover;
background-position: center;
text-align: center;
}
.about-hero::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background: linear-gradient(to bottom, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.15) 100%);
}
.about-hero-content {
position: relative;
z-index: 2;
max-width: 680px;
padding: 0 6%;
}
.about-hero-content h1 {
font-size: 36px;
font-weight: 300;
letter-spacing: 8px;
color: #fff;
margin: 0 0 20px;
}
.about-hero-content h1 span {
font-size: 14px;
display: block;
letter-spacing: 4px;
margin-bottom: 16px;
opacity: 0.7;
}
.about-hero-content p {
font-size: 14px;
line-height: 2;
color: rgba(255,255,255,0.8);
margin: 0;
letter-spacing: 1px;
}

/* Company intro */
.about-intro {
padding: 3rem 0;
background: #fafafa;
}
.about-intro-content {
max-width: 860px;
margin: 0 auto;
padding: 0 1.5rem;
}
.about-intro-content p {
font-size: 15px;
line-height: 2;
color: #555;
margin-bottom: 1.5rem;
text-align: justify;
letter-spacing: 0.5px;
}
.about-intro-content p:last-child {
margin-bottom: 0;
}

/* Stats row */
.about-stats {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0;
border-bottom: 1px solid rgba(0,0,0,0.06);
}
.about-stat {
text-align: center;
padding: 50px 20px;
border-right: 1px solid rgba(0,0,0,0.06);
}
.about-stat:last-child { border-right: none; }
.about-stat-number {
font-size: 36px;
font-weight: 300;
letter-spacing: 2px;
color: #2a2a2a;
margin-bottom: 8px;
}
.about-stat-label {
font-size: 10px;
letter-spacing: 2px;
text-transform: uppercase;
color: #999;
}

/* Philosophy cards */
.about-philosophy {
padding: 100px 0 80px;
max-width: 90%;
margin: 0 auto;
}
.about-philosophy-header {
text-align: center;
margin-bottom: 60px;
}
.about-philosophy-header h2 {
font-size: 20px;
font-weight: 300;
letter-spacing: 5px;
color: #2a2a2a;
margin: 0 0 16px;
}
.about-philosophy-header p {
font-size: 12px;
color: #999;
letter-spacing: 1px;
max-width: 500px;
margin: 0 auto;
line-height: 1.8;
}
.about-values {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 3vw;
}
.about-value-card {
text-align: center;
padding: 40px 24px;
}
.about-value-icon {
width: 48px;
height: 48px;
margin: 0 auto 24px;
border: 1px solid rgba(0,0,0,0.1);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
color: #666;
}
.about-value-card h3 {
font-size: 13px;
font-weight: 500;
letter-spacing: 2px;
color: #2a2a2a;
margin: 0 0 12px;
}
.about-value-card p {
font-size: 12px;
line-height: 1.9;
color: #888;
letter-spacing: 0.3px;
margin: 0;
}

/* Why Us */
.about-why {
padding: 80px 0;
max-width: 90%;
margin: 0 auto;
border-top: 1px solid rgba(0,0,0,0.06);
}
.about-why-header {
text-align: center;
margin-bottom: 60px;
}
.about-why-header h2 {
font-size: 20px;
font-weight: 300;
letter-spacing: 5px;
color: #2a2a2a;
margin: 0;
}
.about-features {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 0;
}
.about-feature {
padding: 32px 40px 32px 0;
border-bottom: 1px solid rgba(0,0,0,0.04);
}
.about-feature:nth-child(odd) { padding-right: 30px; border-right: 1px solid rgba(0,0,0,0.04); }
.about-feature:nth-child(even) { padding-left: 30px; }
.about-feature h3 {
font-size: 14px;
font-weight: 500;
letter-spacing: 1px;
color: #2a2a2a;
margin: 0 0 8px;
position: relative;
padding-left: 16px;
}
.about-feature h3::before {
content: '';
position: absolute;
left: 0;
top: 7px;
width: 6px;
height: 6px;
background: #999;
border-radius: 50%;
}
.about-feature p {
font-size: 13px;
line-height: 1.8;
color: #777;
margin: 0;
padding-left: 16px;
}

/* Range grid */
.about-range {
padding: 80px 0 100px;
max-width: 90%;
margin: 0 auto;
border-top: 1px solid rgba(0,0,0,0.06);
}
.about-range-header {
text-align: center;
margin-bottom: 50px;
}
.about-range-header h2 {
font-size: 20px;
font-weight: 300;
letter-spacing: 5px;
color: #2a2a2a;
margin: 0;
}
.about-range-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 2vw;
}
.about-range-item {
text-align: center;
padding: 24px 16px;
border: 1px solid rgba(0,0,0,0.06);
border-radius: 2px;
transition: border-color 0.3s;
}
.about-range-item:hover { border-color: rgba(0,0,0,0.18); }
.about-range-item h3 {
font-size: 13px;
font-weight: 500;
letter-spacing: 1px;
color: #2a2a2a;
margin: 0 0 8px;
}
.about-range-item p {
font-size: 11px;
line-height: 1.7;
color: #999;
margin: 0;
letter-spacing: 0.3px;
}

@media only screen and (max-width: 1000px) {
.about-stats { grid-template-columns: repeat(2, 1fr); }
.about-stat { border-bottom: 1px solid rgba(0,0,0,0.06); }
.about-stat:nth-child(even) { border-right: none; }
.about-values { grid-template-columns: 1fr 1fr; }
.about-features { grid-template-columns: 1fr; }
.about-feature:nth-child(odd) { border-right: none; padding-right: 0; }
.about-feature:nth-child(even) { padding-left: 0; }
.about-range-grid { grid-template-columns: repeat(2, 1fr); }
.about-hero-content h1 { font-size: 24px; letter-spacing: 5px; }
}
@media only screen and (max-width: 600px) {
.about-values { grid-template-columns: 1fr; }
.about-stats { grid-template-columns: repeat(2, 1fr); }
.about-range-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ===== Contact Page Redesign ===== */
.contact-section {
max-width: 90%;
margin: 0 auto;
}
.contact-hero {
text-align: center;
padding: 80px 0 60px;
}
.contact-hero h1 {
font-size: 28px;
font-weight: 300;
letter-spacing: 6px;
color: #2a2a2a;
margin: 0 0 16px;
}
.contact-hero p {
font-size: 13px;
color: #999;
letter-spacing: 1px;
max-width: 500px;
margin: 0 auto;
line-height: 1.8;
}

/* Info cards row */
.contact-info-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2vw;
margin-bottom: 80px;
}
.contact-info-card {
text-align: center;
padding: 40px 24px;
border: 1px solid rgba(0,0,0,0.06);
border-radius: 2px;
transition: border-color 0.3s;
}
.contact-info-card:hover { border-color: rgba(0,0,0,0.15); }
.contact-info-card h3 {
font-size: 12px;
font-weight: 500;
letter-spacing: 2px;
text-transform: uppercase;
color: #2a2a2a;
margin: 0 0 12px;
}
.contact-info-card p {
font-size: 13px;
line-height: 1.9;
color: #777;
margin: 0;
letter-spacing: 0.3px;
}

/* Split CTA */
.contact-cta {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 50vh;
margin-bottom: 80px;
border-top: 1px solid rgba(0,0,0,0.06);
}
.contact-cta-image {
background-size: cover;
background-position: center;
min-height: 100%;
}
.contact-cta-content {
display: flex;
flex-direction: column;
justify-content: center;
padding: 60px 8%;
background: #faf8f4;
}
.contact-cta-content h2 {
font-size: 20px;
font-weight: 300;
letter-spacing: 4px;
color: #2a2a2a;
margin: 0 0 20px;
}
.contact-cta-content p {
font-size: 13px;
line-height: 1.9;
color: #666;
margin: 0 0 32px;
letter-spacing: 0.3px;
}
.contact-cta-btn {
display: inline-block;
padding: 14px 40px;
border: 1px solid rgba(0,0,0,0.2);
font-size: 11px;
letter-spacing: 3px;
text-transform: uppercase;
color: #2a2a2a;
text-decoration: none;
transition: all 0.3s;
align-self: flex-start;
}
.contact-cta-btn:hover { background: #2a2a2a; color: #fff; border-color: #2a2a2a; }

/* FAQ section */
.contact-faq {
padding: 0 0 100px;
}
.contact-faq-header {
text-align: center;
margin-bottom: 50px;
}
.contact-faq-header h2 {
font-size: 20px;
font-weight: 300;
letter-spacing: 4px;
color: #2a2a2a;
margin: 0;
}
.contact-faq-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 0;
}
.contact-faq-item {
padding: 28px 32px;
border-bottom: 1px solid rgba(0,0,0,0.04);
}
.contact-faq-item:nth-child(odd) { border-right: 1px solid rgba(0,0,0,0.04); }
.contact-faq-item h3 {
font-size: 13px;
font-weight: 500;
letter-spacing: 1px;
color: #2a2a2a;
margin: 0 0 8px;
}
.contact-faq-item p {
font-size: 12px;
line-height: 1.8;
color: #888;
margin: 0;
letter-spacing: 0.3px;
}

@media only screen and (max-width: 1000px) {
.contact-info-grid { grid-template-columns: 1fr 1fr; }
.contact-info-grid .contact-info-card:last-child { grid-column: span 2; }
.contact-cta { grid-template-columns: 1fr; }
.contact-cta-image { min-height: 40vh; }
.contact-faq-grid { grid-template-columns: 1fr; }
.contact-faq-item:nth-child(odd) { border-right: none; }
}
@media only screen and (max-width: 600px) {
.contact-info-grid { grid-template-columns: 1fr; }
.contact-info-grid .contact-info-card:last-child { grid-column: span 1; }
}

/* ===== Craft Page ===== */
.craft-hero {
position: relative;
min-height: 45vh;
display: flex;
align-items: flex-end;
padding: 80px 8% 60px;
background-size: cover;
background-position: center;
margin-bottom: 0;
}
.craft-hero::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background: linear-gradient(to top, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.1) 100%);
z-index: 1;
}
.craft-hero-content {
position: relative; z-index: 2; max-width: 640px;
}
.craft-hero-content h1 { font-size: 30px; font-weight: 300; letter-spacing: 6px; color: #fff; margin: 0 0 12px; }
.craft-hero-content p { font-size: 13px; line-height: 1.8; color: rgba(255,255,255,0.75); margin: 0; }

.craft-section {
max-width: 90%;
margin: 0 auto;
padding: 80px 0;
border-bottom: 1px solid rgba(0,0,0,0.05);
}
.craft-section-header { text-align: center; margin-bottom: 56px; }
.craft-section-header h2 { font-size: 20px; font-weight: 300; letter-spacing: 5px; color: #2a2a2a; margin: 0 0 12px; }
.craft-section-header p { font-size: 12px; color: #999; max-width: 500px; margin: 0 auto; line-height: 1.8; letter-spacing: 0.5px; }

.craft-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3vw; }
.craft-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3vw; }
.craft-card { text-align: center; padding: 32px 20px; border: 1px solid rgba(0,0,0,0.05); border-radius: 2px; transition: all 0.3s; }
.craft-card:hover { border-color: rgba(0,0,0,0.15); box-shadow: 0 2px 20px rgba(0,0,0,0.03); }
.craft-card-icon { width: 56px; height: 56px; margin: 0 auto 20px; border: 1px solid rgba(0,0,0,0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; letter-spacing: 2px; color: #888; text-transform: uppercase; }
.craft-card h3 { font-size: 14px; font-weight: 500; letter-spacing: 2px; color: #2a2a2a; margin: 0 0 10px; }
.craft-card p { font-size: 12px; line-height: 1.9; color: #888; margin: 0; letter-spacing: 0.3px; }

.craft-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.craft-table th { text-align: left; padding: 16px 12px; border-bottom: 1px solid rgba(0,0,0,0.08); font-weight: 500; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #2a2a2a; background: #faf9f6; }
.craft-table td { padding: 16px 12px; border-bottom: 1px solid rgba(0,0,0,0.04); color: #666; line-height: 1.8; letter-spacing: 0.3px; }
.craft-table tr:last-child td { border-bottom: none; }

.craft-process { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.5vw; }
.craft-process-step { text-align: center; padding: 24px 12px; position: relative; }
.craft-process-step::after { content: ''; position: absolute; right: -1.5vw; top: 50%; transform: translateY(-50%); color: #ccc; font-size: 16px; }
.craft-process-step:last-child::after { display: none; }
.craft-step-num { width: 40px; height: 40px; margin: 0 auto 16px; border: 1px solid rgba(0,0,0,0.15); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; color: #2a2a2a; letter-spacing: 1px; }
.craft-process-step h3 { font-size: 12px; font-weight: 500; letter-spacing: 1px; color: #2a2a2a; margin: 0 0 6px; }
.craft-process-step p { font-size: 11px; line-height: 1.7; color: #999; margin: 0; letter-spacing: 0.3px; }

@media only screen and (max-width: 1000px) {
.craft-grid-3 { grid-template-columns: 1fr 1fr; }
.craft-grid-2 { grid-template-columns: 1fr; }
.craft-process { grid-template-columns: repeat(3, 1fr); }
.craft-process-step::after { display: none; }
}
@media only screen and (max-width: 600px) {
.craft-grid-3 { grid-template-columns: 1fr; }
.craft-process { grid-template-columns: 1fr 1fr; }
}

/* ===== Architecture / Cases Gallery Page ===== */
.arch-hero {
position: relative;
min-height: 40vh;
display: flex;
align-items: flex-end;
padding: 80px 8% 60px;
background-size: cover;
background-position: center;
margin-bottom: 0;
}
.arch-hero::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background: linear-gradient(to top, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.1) 100%);
z-index: 1;
}
.arch-hero-content { position: relative; z-index: 2; }
.arch-hero-content h1 { font-size: 32px; font-weight: 300; letter-spacing: 6px; color: #fff; margin: 0 0 12px; }
.arch-hero-content p { font-size: 13px; line-height: 1.8; color: rgba(255,255,255,0.75); margin: 0; letter-spacing: 1px; }

/* Filter tabs */
.arch-filters {
display: flex;
justify-content: center;
gap: 0;
padding: 40px 0 50px;
flex-wrap: wrap;
}
.arch-filter-btn {
background: none;
border: none;
padding: 8px 24px;
font-family: ""Helvetica Neue"", Helvetica, Arial, sans-serif;
font-size: 11px;
letter-spacing: 2px;
text-transform: uppercase;
color: #999;
cursor: pointer;
transition: all 0.3s;
position: relative;
}
.arch-filter-btn::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 1px;
background: #2a2a2a;
transition: width 0.3s;
}
.arch-filter-btn:hover { color: #555; }
.arch-filter-btn.active { color: #2a2a2a; }
.arch-filter-btn.active::after { width: 20px; }
.arch-filter-count { font-size: 9px; opacity: 0.5; margin-left: 2px; }

/* Case cards grid */
.arch-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2.5vw;
max-width: 90%;
margin: 0 auto 80px;
}
.arch-card {
position: relative;
overflow: hidden;
text-decoration: none;
color: inherit;
display: block;
}
.arch-card-image-wrap {
position: relative;
overflow: hidden;
aspect-ratio: 4 / 3;
background: #e8e4da;
margin-bottom: 20px;
}
.arch-card-image {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.arch-card:hover .arch-card-image { transform: scale(1.04); }
.arch-card-overlay {
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background: rgba(0,0,0,0.35);
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
transition: opacity 0.4s;
}
.arch-card:hover .arch-card-overlay { opacity: 1; }
.arch-card-overlay span {
color: #fff;
font-size: 11px;
letter-spacing: 3px;
text-transform: uppercase;
border: 1px solid rgba(255,255,255,0.5);
padding: 10px 24px;
}
.arch-card-category {
font-size: 10px;
letter-spacing: 2px;
text-transform: uppercase;
color: #999;
margin-bottom: 8px;
}
.arch-card h2 {
font-size: 16px;
font-weight: 400;
letter-spacing: 1px;
color: #2a2a2a;
margin: 0 0 8px;
line-height: 1.4;
}
.arch-card-excerpt {
font-size: 12px;
line-height: 1.7;
color: #888;
margin: 0;
letter-spacing: 0.3px;
}

/* Featured large card */
.arch-grid .arch-card:first-child {
grid-column: span 2;
}
.arch-grid .arch-card:first-child .arch-card-image-wrap {
aspect-ratio: 16 / 9;
}

/* Load more */
.arch-load-more {
text-align: center;
padding: 0 0 80px;
}
.arch-load-more-btn {
display: inline-block;
padding: 14px 48px;
border: 1px solid rgba(0,0,0,0.15);
background: transparent;
font-family: ""Helvetica Neue"", Helvetica, Arial, sans-serif;
font-size: 11px;
letter-spacing: 3px;
text-transform: uppercase;
color: #666;
cursor: pointer;
transition: all 0.3s;
}
.arch-load-more-btn:hover { background: #2a2a2a; color: #fff; border-color: #2a2a2a; }

@media only screen and (max-width: 1000px) {
.arch-grid { grid-template-columns: 1fr 1fr; }
.arch-grid .arch-card:first-child { grid-column: span 1; }
.arch-grid .arch-card:first-child .arch-card-image-wrap { aspect-ratio: 4 / 3; }
.arch-hero-content h1 { font-size: 22px; }
}
@media only screen and (max-width: 600px) {
.arch-grid { grid-template-columns: 1fr; gap: 40px; }
.arch-filter-btn { padding: 8px 14px; font-size: 10px; letter-spacing: 1px; }
}

/* ===== Furniture / Products Page ===== */
.furn-hero {
position: relative;
min-height: 42vh;
display: flex;
align-items: flex-end;
padding: 80px 8% 60px;
background-size: cover;
background-position: center;
margin-bottom: 0;
}
.furn-hero::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background: linear-gradient(to top, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.1) 100%);
z-index: 1;
}
.furn-hero-content { position: relative; z-index: 2; }
.furn-hero-content h1 { font-size: 32px; font-weight: 300; letter-spacing: 6px; color: #fff; margin: 0 0 12px; }
.furn-hero-content p { font-size: 13px; line-height: 1.8; color: rgba(255,255,255,0.75); margin: 0; letter-spacing: 1px; }

.furn-filters {
display: flex;
justify-content: center;
gap: 0;
padding: 40px 0 50px;
flex-wrap: wrap;
}
.furn-filter-btn {
background: none;
border: none;
padding: 8px 24px;
font-family: ""Helvetica Neue"", Helvetica, Arial, sans-serif;
font-size: 11px;
letter-spacing: 2px;
text-transform: uppercase;
color: #999;
cursor: pointer;
transition: all 0.3s;
position: relative;
}
.furn-filter-btn::after {
content: '';
position: absolute;
bottom: 0;
left: 50%%;
transform: translateX(-50%%);
width: 0;
height: 1px;
background: #2a2a2a;
transition: width 0.3s;
}
.furn-filter-btn:hover { color: #555; }
.furn-filter-btn.active { color: #2a2a2a; }
.furn-filter-btn.active::after { width: 20px; }

.furn-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2.5vw;
max-width: 90%%;
margin: 0 auto 80px;
}
.furn-card {
position: relative;
overflow: hidden;
text-decoration: none;
color: inherit;
display: block;
}
.furn-card-image-wrap {
position: relative;
overflow: hidden;
aspect-ratio: 1 / 1;
background: #e8e4da;
margin-bottom: 20px;
}
.furn-card-image {
width: 100%%;
height: 100%%;
object-fit: cover;
display: block;
transition: transform 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.furn-card:hover .furn-card-image { transform: scale(1.04); }
.furn-card-overlay {
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background: rgba(0,0,0,0.3);
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
transition: opacity 0.4s;
}
.furn-card:hover .furn-card-overlay { opacity: 1; }
.furn-card-overlay span {
color: #fff;
font-size: 11px;
letter-spacing: 3px;
text-transform: uppercase;
border: 1px solid rgba(255,255,255,0.5);
padding: 10px 24px;
}
.furn-card-category {
font-size: 10px;
letter-spacing: 2px;
text-transform: uppercase;
color: #999;
margin-bottom: 8px;
}
.furn-card h2 {
font-size: 15px;
font-weight: 400;
letter-spacing: 1px;
color: #2a2a2a;
margin: 0 0 6px;
line-height: 1.4;
}
.furn-card-excerpt {
font-size: 12px;
line-height: 1.7;
color: #888;
margin: 0;
letter-spacing: 0.3px;
}

/* Featured hero card */
.furn-grid .furn-card:first-child {
grid-column: span 2;
grid-row: span 2;
}
.furn-grid .furn-card:first-child .furn-card-image-wrap {
aspect-ratio: auto;
height: 100%%;
}

@media only screen and (max-width: 1000px) {
.furn-grid { grid-template-columns: 1fr 1fr; }
.furn-grid .furn-card:first-child { grid-column: span 1; grid-row: span 1; }
.furn-grid .furn-card:first-child .furn-card-image-wrap { aspect-ratio: 1 / 1; height: auto; }
.furn-hero-content h1 { font-size: 22px; }
}
@media only screen and (max-width: 600px) {
.furn-grid { grid-template-columns: 1fr; gap: 40px; }
.furn-filter-btn { padding: 8px 14px; font-size: 10px; letter-spacing: 1px; }
}
