:root { --color-bg: #0b1120; --color-surface: #151d2e; --color-surface-alt: #1a2438; --color-border: #2a3548; --color-text: #e2e8f0; --color-muted: #94a3b8; --color-accent: #22d3ee; --color-accent-dim: #0891b2; --color-success: #34d399; --font-sans: "Inter", system-ui, -apple-system, sans-serif; --max-width: 72rem; --radius: 0.625rem; --radius-lg: 1rem; } *, *::before, *::after { box-sizing: border-box; } body { margin: 0; font-family: var(--font-sans); background: var(--color-bg); color: var(--color-text); line-height: 1.6; } a { color: var(--color-accent); text-decoration: none; } a:hover { text-decoration: underline; } .container { width: min(100% - 2rem, var(--max-width)); margin-inline: auto; } .header { position: sticky; top: 0; z-index: 100; background: rgb(11 17 32 / 0.85); backdrop-filter: blur(12px); border-bottom: 1px solid var(--color-border); } .nav { display: flex; align-items: center; gap: 2rem; padding: 1rem 0; flex-wrap: wrap; } .brand { display: flex; align-items: center; gap: 0.5rem; font-weight: 700; font-size: 1.25rem; color: var(--color-text); text-decoration: none; } .brand-icon { color: var(--color-accent); } .brand-logo-img { height: 1.75rem; width: auto; object-fit: contain; } .nav-links { display: flex; gap: 1.5rem; list-style: none; margin: 0; padding: 0; flex: 1; } .nav-links a { color: var(--color-muted); text-decoration: none; font-size: 0.9375rem; font-weight: 500; } .nav-links a:hover { color: var(--color-text); text-decoration: none; } .nav-actions { display: flex; gap: 0.75rem; align-items: center; } .nav-toggle { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; margin-left: auto; } .nav-toggle span { display: block; width: 22px; height: 2px; background: var(--color-text); } .btn { display: inline-flex; align-items: center; justify-content: center; padding: 0.5rem 1.125rem; border-radius: var(--radius); font-weight: 600; font-size: 0.9375rem; text-decoration: none; border: none; cursor: pointer; transition: background 0.2s, color 0.2s, border-color 0.2s; } .btn-lg { padding: 0.75rem 1.5rem; font-size: 1rem; } .btn-primary { background: var(--color-accent); color: #0b1120; } .btn-primary:hover { background: #67e8f9; text-decoration: none; } .btn-ghost { background: transparent; color: var(--color-muted); border: 1px solid var(--color-border); } .btn-ghost:hover { color: var(--color-text); border-color: var(--color-muted); text-decoration: none; } .btn-outline { background: transparent; color: var(--color-text); border: 1px solid var(--color-border); width: 100%; } .btn-outline:hover { border-color: var(--color-accent); color: var(--color-accent); text-decoration: none; } .hero { padding: 5rem 0 4rem; background: radial-gradient(ellipse 80% 60% at 50% -20%, rgb(34 211 238 / 0.15), transparent); } .hero-grid { display: grid; gap: 3rem; align-items: center; } @media (min-width: 900px) { .hero-grid { grid-template-columns: 1fr 1fr; } } .badge { display: inline-block; padding: 0.25rem 0.75rem; background: rgb(34 211 238 / 0.12); color: var(--color-accent); border: 1px solid rgb(34 211 238 / 0.25); border-radius: 999px; font-size: 0.8125rem; font-weight: 600; margin-bottom: 1rem; } .hero h1 { font-size: clamp(2rem, 5vw, 3.25rem); line-height: 1.15; margin: 0 0 1rem; letter-spacing: -0.02em; } .lead { font-size: 1.125rem; color: var(--color-muted); margin: 0 0 1.75rem; max-width: 32rem; } .hero-cta { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1rem; } .hero-note { font-size: 0.875rem; color: var(--color-muted); margin: 0; } .dashboard-mock { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.5); } .mock-header { display: flex; align-items: center; gap: 0.5rem; padding: 0.875rem 1rem; background: var(--color-surface-alt); border-bottom: 1px solid var(--color-border); } .mock-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--color-border); } .mock-dot:first-child { background: #f87171; } .mock-dot:nth-child(2) { background: #fbbf24; } .mock-dot:nth-child(3) { background: #34d399; } .mock-title { margin-left: 0.5rem; font-size: 0.8125rem; color: var(--color-muted); } .mock-body { padding: 1.25rem; } .mock-stat { display: flex; align-items: baseline; gap: 0.75rem; margin-bottom: 0.75rem; } .mock-label { font-size: 0.8125rem; color: var(--color-muted); min-width: 6rem; } .mock-value { font-size: 1.25rem; font-weight: 700; } .mock-change { font-size: 0.8125rem; font-weight: 600; } .mock-change.up { color: var(--color-success); } .mock-chart { display: flex; align-items: flex-end; gap: 0.5rem; height: 120px; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--color-border); } .mock-chart .bar { flex: 1; height: var(--h); background: linear-gradient(180deg, var(--color-accent), var(--color-accent-dim)); border-radius: 4px 4px 0 0; opacity: 0.85; } .logos { padding: 2rem 0; border-bottom: 1px solid var(--color-border); text-align: center; } .logos p { font-size: 0.8125rem; color: var(--color-muted); text-transform: uppercase; letter-spacing: 0.08em; margin: 0 0 1rem; } .logo-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 2rem; list-style: none; margin: 0; padding: 0; } .logo-list li { font-weight: 700; font-size: 1rem; color: var(--color-muted); opacity: 0.6; } .section { padding: 5rem 0; } .section-alt { background: var(--color-surface); } .section-head { text-align: center; max-width: 40rem; margin: 0 auto 3rem; } .section-head h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); margin: 0 0 0.75rem; letter-spacing: -0.02em; } .section-head p { color: var(--color-muted); margin: 0; } .feature-grid { display: grid; gap: 1.25rem; } @media (min-width: 640px) { .feature-grid { grid-template-columns: repeat(2, 1fr); } } @media (min-width: 900px) { .feature-grid { grid-template-columns: repeat(3, 1fr); } } .feature-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 1.5rem; transition: border-color 0.2s; } .feature-card:hover { border-color: rgb(34 211 238 / 0.4); } .feature-icon { font-size: 1.5rem; margin-bottom: 0.75rem; } .feature-card h3 { margin: 0 0 0.5rem; font-size: 1.0625rem; } .feature-card p { margin: 0; color: var(--color-muted); font-size: 0.9375rem; } .pricing-grid { display: grid; gap: 1.5rem; align-items: start; } @media (min-width: 768px) { .pricing-grid { grid-template-columns: repeat(3, 1fr); } } .price-card { position: relative; background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 2rem 1.5rem; } .price-card.featured { border-color: var(--color-accent); box-shadow: 0 0 0 1px var(--color-accent), 0 20px 40px -15px rgb(34 211 238 / 0.2); } .price-badge { position: absolute; top: -0.75rem; left: 50%; transform: translateX(-50%); background: var(--color-accent); color: #0b1120; font-size: 0.75rem; font-weight: 700; padding: 0.25rem 0.75rem; border-radius: 999px; } .price-card h3 { margin: 0 0 0.5rem; } .price { margin: 0 0 0.25rem; } .amount { font-size: 2.5rem; font-weight: 800; letter-spacing: -0.03em; } .period { color: var(--color-muted); font-size: 1rem; } .price-desc { color: var(--color-muted); font-size: 0.875rem; margin: 0 0 1.5rem; } .price-card ul { list-style: none; padding: 0; margin: 0 0 1.5rem; } .price-card li { padding: 0.5rem 0; border-bottom: 1px solid var(--color-border); font-size: 0.9375rem; color: var(--color-muted); } .price-card li::before { content: "✓ "; color: var(--color-accent); } .testimonial-grid { display: grid; gap: 1.5rem; } @media (min-width: 768px) { .testimonial-grid { grid-template-columns: repeat(2, 1fr); } } .testimonial { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 1.75rem; margin: 0; } .testimonial p { font-size: 1.0625rem; margin: 0 0 1.25rem; font-style: italic; } .testimonial footer { display: flex; flex-direction: column; gap: 0.125rem; } .testimonial strong { font-size: 0.9375rem; } .testimonial span { font-size: 0.8125rem; color: var(--color-muted); } .faq-wrap { max-width: 40rem; margin-inline: auto; } .faq-list { display: flex; flex-direction: column; gap: 0.75rem; } .faq-item { background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 0 1.25rem; } .faq-item summary { padding: 1rem 0; font-weight: 600; cursor: pointer; list-style: none; } .faq-item summary::-webkit-details-marker { display: none; } .faq-item p { margin: 0 0 1rem; color: var(--color-muted); font-size: 0.9375rem; } .cta-banner { padding: 5rem 0; background: linear-gradient(135deg, var(--color-accent-dim), var(--color-accent)); } .cta-inner { text-align: center; color: #0b1120; } .cta-inner h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin: 0 0 0.5rem; } .cta-inner p { margin: 0 0 1.5rem; opacity: 0.85; } .cta-inner .btn-primary { background: #0b1120; color: var(--color-text); } .cta-inner .btn-primary:hover { background: var(--color-surface); } .footer { padding: 3rem 0 1.5rem; border-top: 1px solid var(--color-border); } .footer-grid { display: grid; gap: 2rem; margin-bottom: 2rem; } @media (min-width: 640px) { .footer-grid { grid-template-columns: 2fr repeat(3, 1fr); } } .footer-tagline { color: var(--color-muted); font-size: 0.875rem; margin: 0.5rem 0 0; } .footer h4 { margin: 0 0 0.75rem; font-size: 0.875rem; } .footer ul { list-style: none; padding: 0; margin: 0; } .footer li { margin-bottom: 0.5rem; } .footer a { color: var(--color-muted); text-decoration: none; font-size: 0.875rem; } .footer a:hover { color: var(--color-text); } .footer-bottom { padding-top: 1.5rem; border-top: 1px solid var(--color-border); text-align: center; } .footer-bottom p { margin: 0; font-size: 0.8125rem; color: var(--color-muted); } @media (max-width: 768px) { .nav-toggle { display: flex; } .nav-links, .nav-actions { display: none; width: 100%; flex-direction: column; align-items: stretch; } .nav-links.is-open, .nav-actions.is-open { display: flex; } .nav-links { order: 3; gap: 0; } .nav-links a { display: block; padding: 0.75rem 0; border-bottom: 1px solid var(--color-border); } .nav-actions { order: 4; } } html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; } body { overflow-x: hidden; } .container, .section, main { max-width: 100%; } @media (max-width: 768px) { .btn, .nav-links a, .nav-pills a { min-height: 44px; align-items: center; } .section { padding-block: 3rem; } .form-panel, .form-card, .form-elegant, .inquiry-float { padding: 1.25rem; } .inquiry-sidebar { padding: 2rem 1.25rem; } .form-area { padding: 2rem 1.25rem; } .hero-split { min-height: auto; } .hero-panel { padding: 2.5rem 0; } .hero-visual { min-height: 40vh; } .hero-center { min-height: auto; padding: 6rem 0 2.5rem; } .hero-portal { min-height: auto; padding-bottom: 2rem; } .hero-top { padding-top: 3rem; } .hero-img-wrap img { height: 40vh; min-height: 220px; } .product-row--reverse .product-row-img, .product-row--reverse .product-row-body { order: unset; } .product-num { font-size: 2.5rem; } .stat-pill { min-width: calc(50% - 0.5rem); flex: 1 1 calc(50% - 0.5rem); } .nav-float { top: 0.5rem; } .page-wrap { padding-top: 4.75rem; } .tab-label { flex: 1 1 auto; text-align: center; border-radius: 8px !important; margin-bottom: 0.25rem; } .tab-row { gap: 0.35rem; } } @media (min-width: 1200px) { .container { width: min(100% - 3rem, var(--max)); } } .inquiry-form input, .inquiry-form select, .inquiry-form textarea { max-width: 100%; }