.hero { width: 100%; max-width: 1560px; margin: 24px auto; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(24px, 4vw, 64px); padding: clamp(20px, 4vw, 56px); box-sizing: border-box; border-radius: 20px; background: var(--colorNeutralBackground2); }
.hero .cmain { min-width: 0; color: var(--colorNeutralForeground1); line-height: 1.5; }
.hero-photo { display: block; width: 100%; height: auto; border-radius: 14px; }
.hero h1 { color: var(--app-accent-color, #00796e); font-size: clamp(32px, 4vw, 60px); font-weight: 600; margin: 12px 0; line-height: 1.1; }
.hero h2 { font-size: 13px; letter-spacing: .1em; margin: 0; }
.hero h3 { font-size: clamp(18px, 1.6vw, 24px); margin: 0 0 16px; line-height: 1.4; }
.hero-description { color: var(--colorNeutralForeground2); margin: 0 0 28px; max-width: 42ch; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-actions .navigation-button { min-height: 42px; padding: 10px 22px; }
@media (max-width: 800px) { .hero { grid-template-columns: 1fr; margin: 8px auto; padding: 24px; } .hero-photo { max-width: 640px; justify-self: center; } }
@media (max-width: 420px) { .hero { padding: 20px; } .hero-actions .navigation-button { flex: 1 1 auto; } }
.hero h1:focus { outline: none; }

.hero { max-width: 1680px; margin: 12px auto 20px; padding: clamp(20px, 2.5vw, 40px); grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); gap: 36px; }
.hero-photo { max-height: 440px; width: 100%; object-fit: contain; }
.home-overview { max-width: 1680px; margin: 0 auto 24px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.home-overview article { display: flex; align-items: flex-start; gap: 16px; padding: 24px; border: 1px solid var(--colorNeutralStroke2); border-radius: 12px; background: var(--colorNeutralBackground1); }
.home-feature-icon { color: var(--app-accent-color); flex: 0 0 32px; }
.home-overview h2 { font-size: 18px; margin: 0 0 8px; }
.home-overview p { color: var(--colorNeutralForeground2); margin: 0; line-height: 1.6; }
@media (max-width: 800px) { .hero { grid-template-columns: 1fr; gap: 24px; } .home-overview { grid-template-columns: 1fr; gap: 12px; } .home-overview article { padding: 20px; } }
