:root { --ink: #10221c; --muted: #5d6e67; --paper: #f2f1e9; --lime: #c9ff5c; --mint: #65e6bd; --blue: #2b6dff; --line: rgba(16, 34, 28, 0.14); --card: rgba(255, 255, 255, 0.64); } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; color: var(--ink); background: radial-gradient(circle at 82% 8%, rgba(101, 230, 189, 0.3), transparent 29rem), linear-gradient(180deg, #f7f6ef 0%, var(--paper) 68%, #e9eee6 100%); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; } a { color: inherit; } .site-header, main, footer { width: min(1180px, calc(100% - 40px)); margin-inline: auto; } .site-header { height: 84px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); } .brand { display: flex; gap: 10px; align-items: center; font-weight: 800; text-decoration: none; } .brand-mark { width: 34px; height: 34px; display: grid; place-items: center; color: white; background: var(--ink); border-radius: 11px 11px 11px 3px; } .store-badge { display: flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 13px; font-weight: 700; background: rgba(255, 255, 255, 0.48); } .store-badge i { width: 7px; height: 7px; border-radius: 50%; background: #30b67b; box-shadow: 0 0 0 4px rgba(48, 182, 123, 0.12); } .hero { min-height: 660px; display: grid; grid-template-columns: 1.05fr 0.95fr; align-items: center; gap: 70px; padding: 64px 0 76px; } .eyebrow { margin: 0 0 18px; font-size: 12px; font-weight: 850; letter-spacing: 0.16em; color: #31735f; } h1, h2, p { margin-top: 0; } h1 { margin-bottom: 25px; max-width: 720px; font-size: clamp(54px, 6.8vw, 92px); line-height: 0.92; letter-spacing: -0.065em; } h1 em { color: var(--blue); font-family: Georgia, serif; font-weight: 500; } .lede { max-width: 650px; color: var(--muted); font-size: 19px; line-height: 1.68; } .hero-actions { display: flex; gap: 12px; margin: 34px 0 30px; } .button { padding: 14px 20px; border-radius: 13px; font-size: 14px; font-weight: 800; text-decoration: none; transition: transform 160ms ease, box-shadow 160ms ease; } .button:hover { transform: translateY(-2px); } .button.primary { color: white; background: var(--ink); box-shadow: 0 12px 30px rgba(16, 34, 28, 0.18); } .button.secondary { border: 1px solid var(--line); background: rgba(255, 255, 255, 0.55); } .trust-row { display: flex; flex-wrap: wrap; gap: 20px; color: var(--muted); font-size: 12px; font-weight: 700; } .trust-row span::before { content: "✓"; margin-right: 6px; color: #258f69; } .robot-stage { position: relative; min-height: 500px; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.8); border-radius: 42px; background: linear-gradient(145deg, rgba(255, 255, 255, 0.72), rgba(193, 242, 221, 0.52)); box-shadow: inset 0 0 0 1px rgba(16, 34, 28, 0.04), 0 30px 80px rgba(42, 102, 81, 0.12); } .orbit { position: absolute; border: 1px solid rgba(43, 109, 255, 0.15); border-radius: 50%; } .orbit-one { width: 390px; height: 390px; } .orbit-two { width: 270px; height: 270px; border-style: dashed; animation: spin 24s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } .robot { position: relative; z-index: 2; width: 220px; height: 310px; } .antenna { position: absolute; top: 0; width: 18px; height: 108px; border-radius: 12px; background: var(--ink); transform-origin: bottom; } .antenna.left { left: 61px; transform: rotate(-17deg); } .antenna.right { right: 61px; transform: rotate(17deg); } .head { position: absolute; z-index: 2; top: 76px; left: 35px; width: 150px; height: 142px; border: 9px solid var(--ink); border-radius: 48% 48% 44% 44%; background: #f8fff9; box-shadow: 0 10px 0 var(--lime); } .eye { position: absolute; top: 47px; left: 58px; width: 26px; height: 34px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 9px rgba(43, 109, 255, 0.11); animation: blink 4.5s infinite; } @keyframes blink { 0%, 44%, 50%, 100% { transform: scaleY(1); } 47% { transform: scaleY(0.08); } } .neck { position: absolute; top: 210px; left: 89px; width: 42px; height: 35px; background: var(--ink); } .body { position: absolute; bottom: 0; left: 36px; width: 148px; height: 88px; display: grid; place-items: center; border-radius: 44px 44px 16px 16px; background: var(--ink); } .body span { padding: 5px 9px; color: var(--lime); border: 1px solid rgba(201, 255, 92, 0.4); border-radius: 999px; font-size: 9px; letter-spacing: 0.14em; } .sound-wave { position: absolute; top: 185px; z-index: 3; display: flex; align-items: center; gap: 5px; } .sound-wave.wave-left { left: 34px; } .sound-wave.wave-right { right: 34px; } .sound-wave i { display: block; width: 4px; border-radius: 3px; background: var(--blue); animation: wave 1s ease-in-out infinite alternate; } .sound-wave i:nth-child(1) { height: 16px; } .sound-wave i:nth-child(2) { height: 32px; animation-delay: 120ms; } .sound-wave i:nth-child(3) { height: 21px; animation-delay: 220ms; } @keyframes wave { to { transform: scaleY(0.45); opacity: 0.45; } } .status-chip { position: absolute; z-index: 4; padding: 10px 13px; border: 1px solid rgba(16, 34, 28, 0.1); border-radius: 11px; background: rgba(255, 255, 255, 0.82); box-shadow: 0 10px 30px rgba(16, 34, 28, 0.09); font-size: 11px; font-weight: 800; } .status-chip b { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #23b878; } .chip-vision { top: 44px; right: 31px; } .chip-audio { bottom: 42px; left: 27px; } .feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); } .feature-grid article { padding: 42px 36px 46px 0; } .feature-grid article + article { padding-left: 36px; border-left: 1px solid var(--line); } .feature-number { font: italic 24px Georgia, serif; color: var(--blue); } .feature-grid h2 { margin: 26px 0 12px; font-size: 22px; letter-spacing: -0.025em; } .feature-grid p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; } .signal-section, .install-section { padding: 94px 0; display: grid; grid-template-columns: 0.78fr 1.22fr; gap: 90px; align-items: center; } .signal-section h2, .install-section h2, .privacy-section h2 { max-width: 560px; margin: 0; font-size: clamp(34px, 4vw, 55px); line-height: 1.04; letter-spacing: -0.045em; } .signal-flow { padding: 34px; display: flex; align-items: center; justify-content: space-between; border-radius: 22px; color: white; background: var(--ink); } .signal-flow span { font-size: 12px; font-weight: 800; } .signal-flow i { width: 46px; height: 1px; background: linear-gradient(90deg, var(--mint), var(--lime)); position: relative; } .signal-flow i::after { content: ""; position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border-top: 1px solid var(--lime); border-right: 1px solid var(--lime); transform: rotate(45deg); } .privacy-section { padding: 56px; display: grid; grid-template-columns: auto 1fr; gap: 34px; align-items: start; color: #ebfff6; border-radius: 32px; background: linear-gradient(135deg, #183b30, #10221c); box-shadow: 0 24px 70px rgba(16, 34, 28, 0.16); } .privacy-section .eyebrow { color: var(--mint); } .privacy-section h2 { margin-bottom: 20px; } .privacy-section p:last-child { max-width: 820px; margin: 0; color: #b9d0c7; line-height: 1.72; } .privacy-icon { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid rgba(201, 255, 92, 0.35); border-radius: 18px; color: var(--lime); font-size: 27px; } .install-section ol { list-style: none; padding: 0; margin: 0; } .install-section li { display: flex; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--line); color: var(--muted); } .install-section li b { color: var(--blue); font: italic 18px Georgia, serif; } .install-section strong { color: var(--ink); } footer { min-height: 100px; display: flex; align-items: center; justify-content: space-between; color: var(--muted); border-top: 1px solid var(--line); font-size: 12px; font-weight: 700; } @media (max-width: 900px) { .hero { grid-template-columns: 1fr; gap: 45px; } .robot-stage { min-height: 450px; } .feature-grid { grid-template-columns: 1fr; } .feature-grid article, .feature-grid article + article { padding: 32px 0; border-left: 0; border-top: 1px solid var(--line); } .feature-grid article:first-child { border-top: 0; } .signal-section, .install-section { grid-template-columns: 1fr; gap: 42px; } } @media (max-width: 600px) { .site-header, main, footer { width: min(100% - 28px, 1180px); } .site-header { height: 68px; } .store-badge { padding: 7px 10px; font-size: 11px; } .hero { min-height: 0; padding: 48px 0 60px; } h1 { font-size: 54px; } .lede { font-size: 16px; } .hero-actions { flex-direction: column; } .button { text-align: center; } .robot-stage { min-height: 390px; border-radius: 28px; } .robot { transform: scale(0.85); } .signal-flow { padding: 24px 18px; } .signal-flow span { font-size: 9px; } .signal-flow i { width: 18px; } .privacy-section { padding: 32px 24px; grid-template-columns: 1fr; } footer { gap: 20px; } }