#home { background:#fff; color:#172434; padding-bottom:88px; }
#home h1, #home h2, #home h3, #home p { margin:0; word-break:keep-all; }
#home p { color:#586979; font-size:16px; line-height:1.76; }
#home h1 { margin-top:12px; max-width:760px; font-size:48px; line-height:1.18; }
#home h2 { margin-top:10px; font-size:34px; line-height:1.25; }
#home h3 { font-size:21px; line-height:1.35; }
#home .home-kicker { color:#1ea7c8; font-size:12px; font-weight:800; letter-spacing:1.6px; text-transform:uppercase; }
.home-hero { position:relative; width:min(1280px, calc(100% - 40px)); min-height:430px; margin:0 auto; padding:92px 40px; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; text-align:center; background:#eef8fb; border-top:4px solid #8ce1e8; }
.home-hero:before { content:""; position:absolute; inset:0; background:rgba(255,255,255,.58); }
.home-hero > * { position:relative; z-index:1; }
.home-hero p { max-width:650px; margin-top:18px; }
.home-panel { width:min(1040px, calc(100% - 40px)); margin:72px auto 0; padding:62px 40px; text-align:center; background:#f8f8f8; }
.home-story p { max-width:720px; margin:18px auto 0; }
.home-services { width:min(1040px, calc(100% - 40px)); margin:36px auto 0; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:14px; }
.home-services article { min-height:190px; padding:28px 22px; background:#fff; border:1px solid #e4edf0; }
.home-services span { display:block; color:#1ea7c8; font-size:13px; font-weight:800; }
.home-services h3 { margin-top:18px; }
.home-services p { margin-top:12px; font-size:14px; line-height:1.65; }
.home-wide { width:100%; margin-top:72px; padding:46px max(20px, calc((100% - 1280px) / 2)); display:grid; grid-template-columns:1.35fr 1fr; align-items:center; gap:42px; background:#dff5fa; }
.home-wide .home-mark { display:flex; align-items:center; justify-content:center; min-height:250px; background:linear-gradient(135deg, rgba(240,251,253,.92) 0%, rgba(123,215,229,.82) 100%); color:#172434; font-size:24px; font-weight:900; letter-spacing:2px; text-align:center; }
.home-wide p { margin-top:16px; }
.home-products { width:min(1040px, calc(100% - 40px)); margin:72px auto 0; text-align:center; }
.home-grid { margin-top:30px; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:18px; text-align:left; }
.home-grid article { min-height:100%; padding:14px; border:1px solid #e3edf1; color:#172434; background:#fff; transition:transform .2s, box-shadow .2s; }
.home-grid article:hover { transform:translateY(-4px); box-shadow:0 14px 30px rgba(23,36,52,.1); }
.home-thumb { display:block; aspect-ratio:1 / 1; background-position:center; background-size:cover; background-repeat:no-repeat; }
.home-thumb-a { background-image:url('/img/home-products-1.jpg'); }
.home-thumb-b { background-image:url('/img/home-products-2.jpg'); }
.home-thumb-c { background-image:url('/img/home-products-3.jpg'); }
.home-thumb-d { background-image:url('/img/home-products-4.jpg'); }
.home-grid strong { display:block; margin-top:14px; font-size:16px; line-height:1.45; }
.home-grid em { display:block; margin-top:6px; color:#1ea7c8; font-size:14px; font-style:normal; font-weight:800; }
.home-process ul { max-width:520px; margin:24px auto 0; padding:0; list-style:none; }
.home-process li { padding:8px 0; color:#586979; font-size:15px; line-height:1.5; }
.home-contact { width:min(1040px, calc(100% - 40px)); margin:72px auto 0; padding:44px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:38px; background:#f8f8f8; }
.home-contact p { margin-top:16px; }
.home-contact-box { min-height:260px; background:url('/img/home-contact-box.jpg') center / cover no-repeat; }
@media (max-width:900px){
	.home-services { grid-template-columns:1fr 1fr; }
	.home-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
	#home { padding-bottom:56px; }
	#home h1 { font-size:34px; }
	#home h2 { font-size:26px; }
	#home h3 { font-size:19px; }
	#home p { font-size:15px; }
	.home-hero { min-height:360px; padding:66px 22px; }
	.home-panel { margin-top:48px; padding:42px 22px; }
	.home-services { margin-top:24px; grid-template-columns:1fr; }
	.home-services article { min-height:0; }
	.home-wide { margin-top:48px; grid-template-columns:1fr; gap:26px; }
	.home-wide .home-mark { min-height:190px; font-size:20px; }
	.home-products { margin-top:48px; }
	.home-grid { gap:12px; }
	.home-contact { margin-top:48px; padding:32px 22px; grid-template-columns:1fr; }
	.home-contact-box { min-height:190px; }
}
