*, *::before, *::after { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background-color: #ffffff; color: #111827; line-height: 1.6; } img { max-width: 100%; height: auto; display: block; } a { color: #2563eb; text-decoration: none; } a:hover, a:focus { text-decoration: underline; } .page-wrapper { min-height: 100vh; display: flex; flex-direction: column; } .container { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 1.5rem; } .site-header { position: sticky; top: 0; z-index: 40; background-color: #ffffff; border-bottom: 1px solid #e5e7eb; } .sticky-top-bar { background: #111827; color: #f9fafb; font-size: 0.85rem; } .sticky-top-bar .flex-row { display: flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.4rem 0.75rem; text-align: center; } .top-bar-link-inline { color: #bfdbfe; text-decoration: underline; } .header-main { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 0; } .logo { display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 700; color: #111827; } .logo-mark { width: 32px; height: 32px; border-radius: 999px; background: radial-gradient(circle at 30% 30%, #60a5fa, #1d4ed8); color: #ffffff; display: inline-flex; align-items: center; justify-content: center; font-size: 1rem; } .logo-text { font-size: 1.05rem; } .logo-dot { color: #6b7280; } .main-nav { display: flex; align-items: center; gap: 1.5rem; } .nav-menu { list-style: none; display: flex; gap: 1.25rem; margin: 0; padding: 0; } .nav-menu a { font-size: 0.95rem; font-weight: 500; color: #374151; } .nav-toggle { display: none; background: none; border: none; padding: 0.25rem; } .nav-toggle-bar { width: 20px; height: 2px; background: #111827; display: block; margin: 3px 0; } .hero { padding: 3.5rem 0 2.5rem; } .hero-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 2.5rem; align-items: center; } .eyebrow { text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.75rem; color: #6b7280; margin-bottom: 0.5rem; } .hero h1 { font-size: clamp(2rem, 3vw, 2.6rem); line-height: 1.15; margin: 0 0 1rem; } .hero-subtitle { font-size: 1rem; color: #4b5563; max-width: 34rem; } .hero-actions { margin: 1.5rem 0 0.75rem; display: flex; flex-wrap: wrap; gap: 0.75rem; } .btn { display: inline-flex; align-items: center; justify-content: center; padding: 0.6rem 1.2rem; border-radius: 999px; font-size: 0.9rem; font-weight: 600; border: 1px solid transparent; cursor: pointer; } .btn-primary { background: linear-gradient(135deg, #2563eb, #1d4ed8); color: #f9fafb; } .btn-outline { background: #ffffff; border-color: #d1d5db; color: #111827; } .btn-small { padding: 0.35rem 0.8rem; font-size: 0.8rem; } .btn-block { width: 100%; } .hero-bullets { margin: 1rem 0 0; padding-left: 1.1rem; font-size: 0.9rem; color: #4b5563; } .hero-image-card { border-radius: 1.5rem; background: radial-gradient(circle at 0 0, #eff6ff, #e5e7eb); padding: 1rem; box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18); } .hero-image-card img { border-radius: 1.1rem; } .section { padding: 2.75rem 0; } .section-grid .feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5rem; margin-top: 1.75rem; } .section-grid h2 { font-size: 1.6rem; margin-bottom: 0.5rem; } .section-intro { max-width: 42rem; color: #4b5563; } .feature-card { border-radius: 1rem; border: 1px solid #e5e7eb; padding: 1.25rem; background: #ffffff; } .section-highlight { background: #f9fafb; } .section-highlight-alt { background: #f3f4f6; } .highlight-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 2rem; align-items: center; } .checklist { list-style: none; padding-left: 0; } .checklist li::before { content: "✔"; margin-right: 0.5rem; color: #16a34a; } .price-tag { font-size: 2.1rem; font-weight: 700; margin: 0 0 0.75rem; } .price-tag span { font-size: 1rem; font-weight: 500; color: #6b7280; } .section-blog-preview { border-top: 1px solid #e5e7eb; } .section-header { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 1.75rem; } .section-header p { color: #4b5563; } .blog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem; } .blog-card { border-radius: 1rem; border: 1px solid #e5e7eb; overflow: hidden; background: #ffffff; display: flex; flex-direction: column; height: 100%; } .blog-card-image-link img { max-height: 180px; width: 100%; object-fit: cover; } .blog-card-body { padding: 1rem 1.1rem 1.25rem; } .blog-card h3 { margin: 0 0 0.4rem; font-size: 1.05rem; } .section-footer { margin-top: 2rem; } .page-hero { padding: 3rem 0 2.25rem; } .section-centered { padding: 4rem 0; text-align: center; } .section-centered h1 { margin-bottom: 0.5rem; } .breadcrumbs { font-size: 0.85rem; margin-bottom: 1.25rem; } .breadcrumbs ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0.35rem; } .breadcrumbs li::after { content: "/"; margin-left: 0.35rem; color: #9ca3af; } .breadcrumbs li:last-child::after { content: ""; } .breadcrumbs a { color: #6b7280; } .idea-list { list-style: disc; padding-left: 1.25rem; } .contact-card { border-radius: 1rem; border: 1px solid #d1d5db; padding: 1rem 1.25rem; background: #f9fafb; margin: 1rem 0 1.5rem; } .contact-label { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.12em; color: #6b7280; } .contact-email { font-size: 1.1rem; font-weight: 600; } .blog-list { display: flex; flex-direction: column; gap: 1.5rem; } .blog-list-item { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 1rem; align-items: flex-start; } .blog-list-thumb img { border-radius: 0.75rem; object-fit: cover; height: 140px; width: 100%; } .blog-list-content h2 { margin: 0 0 0.4rem; font-size: 1.2rem; } .article-body article { max-width: 46rem; } .article-body h2 { margin-top: 1.9rem; margin-bottom: 0.6rem; font-size: 1.25rem; } .article-cta { margin-top: 1.75rem; padding-top: 1.25rem; border-top: 1px solid #e5e7eb; font-weight: 500; } .legal-text h2 { margin-top: 1.75rem; margin-bottom: 0.5rem; font-size: 1.25rem; } .legal-updated { margin-top: 1.5rem; font-size: 0.9rem; color: #6b7280; } .site-footer { margin-top: auto; border-top: 1px solid #e5e7eb; background: #f9fafb; padding: 2.5rem 0 1.5rem; font-size: 0.9rem; } .footer-top { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 1.5rem; margin-bottom: 1.5rem; } .footer-heading { font-size: 1rem; margin: 0 0 0.5rem; } .footer-links { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.85rem; } .footer-bottom { border-top: 1px solid #e5e7eb; padding-top: 1rem; display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: space-between; color: #6b7280; font-size: 0.8rem; } .footer-small { max-width: 30rem; } .social-share { display: flex; gap: 0.5rem; margin-top: 0.5rem; } .social-icon { width: 32px; height: 32px; border-radius: 999px; border: 1px solid #d1d5db; display: inline-flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 600; color: #374151; background: #ffffff; } .social-icon span { transform: translateY(1px); } /* Responsive */ @media (max-width: 768px) { .hero-layout, .highlight-layout, .footer-top { grid-template-columns: minmax(0, 1fr); } .sticky-top-bar .flex-row { flex-direction: column; } .main-nav { position: relative; } .nav-toggle { display: block; } .nav-menu { position: absolute; right: 0; top: 130%; background: #ffffff; border-radius: 0.75rem; border: 1px solid #e5e7eb; padding: 0.75rem 1rem; flex-direction: column; gap: 0.5rem; min-width: 11rem; box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12); display: none; } .nav-menu.nav-open { display: flex; } .blog-list-item { grid-template-columns: minmax(0, 1fr); } }