#home { background:#fff; color:#161616; overflow:hidden; }
#home * { box-sizing:border-box; }
#home a { color:inherit; text-decoration:none; }
#home p { line-height:1.75; word-break:keep-all; }
.home-kicker { margin:0 0 12px; font-size:12px; font-weight:800; color:#0e9384; letter-spacing:0; text-transform:uppercase; }
.home-visual { width:min(1280px, calc(100% - 40px)); min-height:620px; margin:0 auto; padding:72px 0 84px; display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.25fr); gap:44px; align-items:center; }
.home-visual-copy h1 { margin:0; max-width:560px; font-size:64px; line-height:1.04; letter-spacing:0; }
.home-visual-copy > p:not(.home-kicker) { max-width:520px; margin:24px 0 0; font-size:18px; color:#555; }
.home-actions { margin-top:34px; display:flex; gap:10px; flex-wrap:wrap; }
.home-actions a { display:inline-flex; justify-content:center; align-items:center; height:44px; padding:0 22px; border:1px solid #161616; font-size:14px; font-weight:700; }
.home-actions a:first-child { background:#161616; color:#fff; }
.home-visual-stage { position:relative; min-height:440px; display:flex; flex-direction:column; justify-content:center; align-items:center; overflow:hidden; background:#f3f7f5; border:1px solid #dfe9e5; }
.home-visual-stage::before { content:""; position:absolute; inset:34px; background-image:linear-gradient(#d9e4df 1px, transparent 1px), linear-gradient(90deg, #d9e4df 1px, transparent 1px); background-size:42px 42px; opacity:.7; }
.home-visual-stage::after { content:""; position:absolute; left:8%; right:8%; bottom:82px; height:2px; background:#161616; opacity:.16; }
.home-visual-stage strong { position:relative; z-index:2; font-size:52px; line-height:1; letter-spacing:0; }
.home-visual-stage em { position:relative; z-index:2; margin-top:10px; font-style:normal; font-size:12px; color:#6b7773; text-transform:uppercase; }
.motion-line { position:absolute; z-index:1; height:2px; background:#161616; opacity:.55; }
.line-a { width:190px; left:9%; top:35%; transform:rotate(-12deg); }
.line-b { width:240px; right:7%; bottom:34%; transform:rotate(9deg); }
.runner { position:absolute; z-index:2; width:118px; height:72px; border:3px solid #161616; border-left:0; border-bottom:0; transform:skewX(-18deg); }
.runner::before { content:""; position:absolute; width:24px; height:24px; border-radius:50%; background:#d88455; top:-34px; right:-6px; }
.runner::after { content:""; position:absolute; width:86px; height:3px; background:#161616; left:-42px; bottom:-18px; transform:rotate(-22deg); box-shadow:58px 32px 0 #161616; }
.runner-a { left:9%; top:44%; }
.runner-b { right:11%; top:35%; transform:scaleX(-1) skewX(-18deg); }
.home-promo { padding:86px 0; background:#f8f8f8; }
.home-section-head { width:min(780px, calc(100% - 40px)); margin:0 auto; text-align:center; }
.home-section-head h2 { margin:0; font-size:42px; line-height:1.16; letter-spacing:0; }
.home-section-head p:not(.home-kicker) { margin:14px auto 0; color:#626262; font-size:17px; }
.promo-grid { width:min(1180px, calc(100% - 40px)); margin:34px auto 0; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; }
.promo-grid article { min-height:230px; padding:30px; display:flex; flex-direction:column; justify-content:flex-end; background:#fff; border:1px solid #e8e8e8; }
.promo-grid span { margin-bottom:auto; font-size:13px; font-weight:800; color:#0e9384; }
.promo-grid h3 { margin:42px 0 10px; font-size:24px; line-height:1.25; }
.promo-grid p { margin:0; color:#666; }
.home-about { padding:96px 0; }
.home-about-card { width:min(1180px, calc(100% - 40px)); margin:0 auto; display:grid; grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr); gap:34px; align-items:stretch; }
.home-about-copy { padding:54px; background:#f5f5f5; }
.home-about-copy h2 { margin:0; font-size:42px; line-height:1.16; }
.home-about-copy p:not(.home-kicker) { margin:20px 0 0; color:#555; font-size:17px; }
.home-about-copy ul { margin:28px 0 0; padding:0; list-style:none; display:grid; gap:12px; }
.home-about-copy li { position:relative; padding-left:18px; font-size:15px; color:#333; }
.home-about-copy li::before { content:""; position:absolute; left:0; top:10px; width:7px; height:7px; background:#0e9384; }
.home-about-image { position:relative; min-height:420px; display:flex; justify-content:center; align-items:center; overflow:hidden; background:#e8eef0; border:1px solid #dde6e8; }
.home-about-image::before { content:""; position:absolute; width:72%; height:64%; background:#fff; transform:rotate(-7deg); box-shadow:0 22px 50px rgba(0,0,0,.1); }
.home-about-image::after { content:""; position:absolute; width:46%; height:72%; border:16px solid #202020; border-top-width:34px; transform:rotate(8deg); opacity:.86; }
.home-about-image span { position:absolute; z-index:2; width:150px; height:150px; border-radius:50%; background:#0e9384; opacity:.16; }
.home-about-image strong { position:relative; z-index:3; padding:10px 14px; background:#161616; color:#fff; font-size:12px; letter-spacing:0; text-transform:uppercase; }
.home-colors { padding:88px 0 110px; background:#fbfbfb; }
.color-grid { width:min(1180px, calc(100% - 40px)); margin:34px auto 0; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:18px; }
.color-grid article { padding:18px 18px 24px; background:#fff; border:1px solid #e8e8e8; }
.color-grid span { display:block; aspect-ratio:1 / 1.08; margin-bottom:20px; }
.color-grid h3 { margin:0; font-size:20px; line-height:1.3; }
.color-grid p { margin:10px 0 0; color:#666; font-size:14px; }
.color-spring span { background:linear-gradient(135deg, #d6f3e9, #7ec9b7); }
.color-summer span { background:linear-gradient(135deg, #dcecff, #1e63b7); }
.color-autumn span { background:linear-gradient(135deg, #f1d7bd, #9d4f2d); }
.color-winter span { background:linear-gradient(135deg, #eeeeee, #5e6670); }
@media (max-width:900px){
	.home-visual { min-height:auto; padding:48px 0 64px; grid-template-columns:1fr; gap:28px; }
	.home-visual-copy h1 { font-size:44px; }
	.home-visual-stage { min-height:340px; }
	.promo-grid { grid-template-columns:1fr; }
	.home-about-card { grid-template-columns:1fr; }
	.home-about-copy { padding:38px 24px; }
	.home-about-image { min-height:320px; }
	.color-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:560px){
	.home-visual { width:calc(100% - 28px); padding:34px 0 46px; }
	.home-visual-copy h1 { font-size:34px; }
	.home-visual-copy > p:not(.home-kicker) { font-size:16px; }
	.home-actions a { width:100%; }
	.home-visual-stage { min-height:280px; }
	.home-visual-stage strong { font-size:36px; }
	.runner { width:82px; height:52px; }
	.runner-a { left:5%; top:50%; }
	.runner-b { right:6%; top:31%; }
	.home-promo { padding:58px 0; }
	.home-section-head h2 { font-size:30px; }
	.promo-grid { width:calc(100% - 28px); }
	.promo-grid article { min-height:190px; padding:24px; }
	.home-about { padding:64px 0; }
	.home-about-card { width:calc(100% - 28px); }
	.home-about-copy h2 { font-size:30px; }
	.home-colors { padding:60px 0 76px; }
	.color-grid { width:calc(100% - 28px); grid-template-columns:1fr; }
}
