.buildstone-main { background:#f4f2ee; color:#171717; overflow:hidden; }
.buildstone-main * { box-sizing:border-box; }
.buildstone-main p { line-height:1.72; word-break:keep-all; }
.home-wrap { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.home-kicker { margin:0 0 14px; color:#8a5d30; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:0; }
.home-heading { max-width:720px; margin:0 auto 34px; text-align:center; }
.home-heading h2 { margin:0; font-size:38px; line-height:1.25; letter-spacing:0; }
.home-heading p { margin:14px 0 0; color:#67625d; font-size:16px; }
.home-heading.split { max-width:none; display:grid; grid-template-columns:1fr 410px; align-items:end; gap:40px; text-align:left; }
.home-visual { padding:86px 0 76px; background:#fff; }
.home-visual-grid { display:grid; grid-template-columns:minmax(0, .95fr) minmax(420px, 1.05fr); align-items:center; gap:54px; }
.home-copy h1 { margin:0; max-width:620px; font-size:58px; line-height:1.12; letter-spacing:0; }
.home-copy > p:not(.home-kicker) { max-width:560px; margin:24px 0 0; color:#5f5a55; font-size:18px; }
.home-visual-card { min-height:520px; border:1px solid #d8d0c7; background:url("../img/buildstone_bg.png") center/cover no-repeat; overflow:hidden; }
.home-services { padding:82px 0; background:#f4f2ee; }
.home-service-list { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:18px; }
.home-service-list article { min-height:250px; padding:28px; border:1px solid #ded8cf; background:#fff; }
.home-service-list span { color:#b58a5b; font-size:13px; font-weight:900; }
.home-service-list h3 { margin:42px 0 12px; font-size:22px; line-height:1.28; }
.home-service-list p { margin:0; color:#67625d; font-size:15px; }
.home-portfolio { padding:92px 0; background:#fff; }
.home-project-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px; }
.home-project-grid article { border-bottom:1px solid #d9d4cd; padding-bottom:24px; }
.home-project-thumb { position:relative; height:300px; display:flex; align-items:flex-end; padding:22px; background:#d6d0c6; overflow:hidden; }
.home-project-thumb img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.home-project-thumb span { display:inline-flex; align-items:center; height:30px; padding:0 12px; background:#171717; color:#fff; font-size:12px; font-weight:800; }
.home-project-thumb span { position:relative; z-index:1; }
.home-project-grid h3 { margin:20px 0 8px; font-size:22px; line-height:1.35; }
.home-project-grid p { margin:0; color:#67625d; font-size:15px; }
.home-team { padding:88px 0 104px; background:#e9e5de; }
.home-team-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:26px; align-items:stretch; }
.home-team-panel { padding:44px; background:#171717; color:#fff; }
.home-team-panel h2 { margin:0; font-size:38px; line-height:1.25; letter-spacing:0; }
.home-team-panel p:not(.home-kicker) { margin:18px 0 0; color:#d9d3cc; }
.home-team-panel ul { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin:40px 0 0; padding:0; list-style:none; }
.home-team-panel li { padding-top:18px; border-top:1px solid rgba(255,255,255,.24); }
.home-team-panel strong { display:block; color:#d6ad76; font-size:30px; line-height:1; }
.home-team-panel span { display:block; margin-top:8px; color:#d9d3cc; font-size:13px; }
.home-team-list { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; }
.home-team-list article { padding:24px; background:#fff; }
.home-avatar { width:100%; aspect-ratio:1 / 1.05; background:#d9d4ca; border:1px solid #dfd8ce; overflow:hidden; }
.home-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.home-team-list h3 { margin:20px 0 8px; font-size:18px; line-height:1.35; }
.home-team-list p { margin:0; color:#67625d; font-size:14px; }
@media (max-width:900px){
	.home-heading.split { grid-template-columns:1fr; gap:14px; }
	.home-visual-grid { grid-template-columns:1fr; }
	.home-copy h1 { font-size:44px; }
	.home-visual-card { min-height:420px; }
	.home-service-list { grid-template-columns:repeat(2, minmax(0, 1fr)); }
	.home-project-grid { grid-template-columns:1fr; }
	.home-team-grid { grid-template-columns:1fr; }
}
@media (max-width:560px){
	.home-wrap { width:calc(100% - 28px); }
	.home-heading h2 { font-size:29px; }
	.home-visual { padding:56px 0 54px; }
	.home-copy h1 { font-size:36px; }
	.home-copy > p:not(.home-kicker) { font-size:16px; }
	.home-visual-card { min-height:330px; padding:20px; }
	.home-services, .home-portfolio, .home-team { padding:58px 0; }
	.home-service-list { grid-template-columns:1fr; }
	.home-service-list article { min-height:auto; }
	.home-service-list h3 { margin-top:28px; }
	.home-project-thumb { height:220px; }
	.home-team-panel { padding:30px 22px; }
	.home-team-panel h2 { font-size:29px; }
	.home-team-panel ul { grid-template-columns:1fr; }
	.home-team-list { grid-template-columns:1fr; }
	.home-avatar { aspect-ratio:1.8 / 1; }
}
