.home-page { --container:1320px; }
.home-page .hero { background:linear-gradient(120deg,#f0f6ff,#fff 80%);padding:56px 0 42px; }
.home-page .hero-content { max-width:940px; }
.home-page .hero h1 { font-size:clamp(30px,4vw,48px);line-height:1.35;letter-spacing:-.02em; }
.home-page .hero-content>p { max-width:780px;color:#475569;font-size:18px; }
.home-page .section { padding:48px 0; }
.home-page .section h2 { color:#0f172a;font-size:clamp(23px,2.5vw,30px); }
.home-section-intro { color:#475569;margin:-8px 0 24px; }
.home-product-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.home-scenario-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px; }
.home-guide-card { min-width:0;padding:24px;background:#fff;border:1px solid #dce4ef;border-radius:16px; }
.home-guide-card h3 { margin:10px 0;color:#0f172a;font-size:20px; }
.home-guide-card p { color:#475569;line-height:1.85; }
.home-eyebrow { color:#475569;font-size:13px; }
.home-page .home-text-link { color:#1a73e8;text-decoration:underline;text-underline-offset:4px; }
.home-page a:focus-visible,.home-page summary:focus-visible { outline:3px solid #1a73e8;outline-offset:4px; }
.home-page .home-faq details { padding:18px 0;border-bottom:1px solid #dce4ef; }
.home-page .home-faq summary { cursor:pointer;font-weight:600;color:#0f172a; }
.home-page .home-faq details p { max-width:960px;color:#475569; }
.home-about { color:#475569;font-size:14px;margin-top:28px; }
.home-page .skip-link { position:absolute;left:16px;top:-100px;z-index:100;background:#fff;padding:12px;color:#1a73e8; }
.home-page .skip-link:focus { top:12px; }
@media(max-width:960px) { .home-product-grid,.home-scenario-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .home-product-grid,.home-scenario-grid { grid-template-columns:minmax(0,1fr); } .home-page .hero { padding:32px 0; } .home-page .section { padding:32px 0; } .home-page .hero-content>p { font-size:16px; } .home-page .section-header { flex-wrap:wrap;gap:12px; } .home-page .nav { align-items:flex-start; } .home-page .brand { white-space:nowrap; } .home-page .nav nav { gap:10px 14px; } }
