/* ========================================================== LynkedUp Pro v3 — Dark brand-matched landing ========================================================== */ :root { --bg-0: #020817; --bg-1: #050f24; --bg-2: #0a172e; --bg-3: #0f2140; --line: rgba(56,189,248,.16); --line-2: rgba(56,189,248,.10); --line-3: rgba(56,189,248,.28); --ink: #e6edf6; --ink-soft: #cbd5e1; --body: #94a3b8; --muted: #64748b; --muted-2: #475569; --cyan: #22d3ee; --cyan-2: #38bdf8; --blue: #0ea5e9; --blue-deep: #0369a1; --orange: #f97316; --orange-2: #fb923c; --amber: #f59e0b; --mint: #10b981; --mint-2: #34d399; --purple: #a78bfa; --r-sm: 8px; --r-md: 12px; --r-lg: 16px; --r-xl: 24px; --glow-cyan: 0 0 0 1px rgba(56,189,248,.18), 0 12px 30px -10px rgba(2,132,199,.35); --glow-orange: 0 12px 28px -10px rgba(249,115,22,.45), inset 0 1px 0 rgba(255,255,255,.18); } * { box-sizing: border-box; } html, body { margin: 0; padding: 0; } body { font-family: 'Inter', system-ui, -apple-system, sans-serif; color: var(--ink); background: var(--bg-0); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; padding-bottom: 88px; line-height: 1.5; font-feature-settings: "ss01", "cv11"; } h1, h2, h3, h4, h5, .sec-h, .hero h1, .brand-word { font-family: 'Inter', system-ui, sans-serif; } .mono { font-family: 'JetBrains Mono', monospace; } /* ============== Ambient background ============== */ .bg-stack { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; } .bg-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(56,189,248,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(56,189,248,.06) 1px, transparent 1px); background-size: 56px 56px; mask-image: radial-gradient(ellipse 1200px 800px at 50% 0%, black 30%, transparent 80%); } .bg-orb { position: absolute; border-radius: 50%; filter: blur(120px); opacity: .65; } .bg-orb.b-cyan { width: 900px; height: 900px; left: -300px; top: -380px; background: radial-gradient(circle, rgba(2,132,199,.55), rgba(2,132,199,0) 70%); } .bg-orb.b-orange { width: 700px; height: 700px; right: -260px; top: 200px; background: radial-gradient(circle, rgba(249,115,22,.35), rgba(249,115,22,0) 70%); } .bg-circuit { position: absolute; inset: 0; background: radial-gradient(ellipse 800px 500px at 100% 80%, rgba(56,189,248,.10), transparent 70%), radial-gradient(ellipse 700px 400px at 0% 30%, rgba(125,211,252,.08), transparent 70%); } /* ============== Layout ============== */ .wrap { max-width: 1280px; margin: 0 auto; padding: 0 32px; } .sec-head { margin-bottom: 60px; } .sec-center { text-align: center; } .sec-center .sec-sub { max-width: 680px; margin-left: auto; margin-right: auto; } /* ============== Brand mark ============== */ .brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); } .brand-img { height: 28px; width: auto; display: block; } .brand-word { font-family: 'Plus Jakarta Sans'; font-weight: 700; letter-spacing: -.025em; font-size: 19px; } .brand-word .pro { color: var(--orange-2); font-weight: 800; } .brand-hex { display: inline-flex; } .brand-hex.tiny svg { width: 22px; height: 24px; } /* ============== Nav ============== */ .nav { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(16px) saturate(160%); -webkit-backdrop-filter: blur(16px) saturate(160%); background: rgba(5,15,36,.75); border-bottom: 1px solid var(--line); } .nav-inner { display: flex; align-items: center; justify-content: space-between; height: 76px; } .nav-links { display: flex; gap: 32px; } .nav-links a { color: var(--ink-soft); text-decoration: none; font-size: 14px; font-weight: 500; display: inline-flex; align-items: center; gap: 6px; transition: color .2s; } .nav-links a:hover { color: var(--cyan-2); } .nav-links .chev { width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); display: inline-block; margin-bottom: 3px; opacity: .6; } .nav-cta { display: flex; align-items: center; gap: 10px; } /* ============== Buttons ============== */ .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-family: inherit; font-weight: 600; font-size: 14.5px; line-height: 1; padding: 12px 20px; border-radius: 999px; border: 1px solid transparent; cursor: pointer; transition: transform .15s ease, box-shadow .25s ease, background .2s; text-decoration: none; white-space: nowrap; position: relative; } .btn:hover { transform: translateY(-1px); } .btn .arr { transition: transform .2s; } .btn:hover .arr { transform: translateX(3px); } .btn-ghost { color: var(--ink-soft); background: rgba(255,255,255,.04); border: 1px solid var(--line-3); } .btn-ghost:hover { background: rgba(56,189,248,.08); border-color: rgba(56,189,248,.5); color: #fff; } .btn-ghost .play { width: 22px; height: 22px; border-radius: 50%; background: rgba(56,189,248,.16); color: var(--cyan-2); display: grid; place-items: center; padding-left: 2px; } .btn-orange { color: #fff; background: linear-gradient(180deg, #fb923c 0%, #f97316 50%, #ea580c 100%); box-shadow: var(--glow-orange); } .btn-orange:hover { box-shadow: 0 16px 36px -10px rgba(249,115,22,.6), inset 0 1px 0 rgba(255,255,255,.22); } .btn-cyan { color: #fff; background: linear-gradient(180deg, #38bdf8 0%, #0284c7 100%); box-shadow: 0 10px 24px -10px rgba(2,132,199,.6), inset 0 1px 0 rgba(255,255,255,.2); } .btn-lg { padding: 14px 22px; font-size: 14.5px; } .btn-xl { padding: 18px 28px; font-size: 15.5px; font-weight: 700; } /* ============== Pills & eyebrows ============== */ .ltd-pill { display: inline-flex; align-items: center; gap: 10px; padding: 7px 8px 7px 14px; border-radius: 999px; background: rgba(249,115,22,.10); border: 1px solid rgba(249,115,22,.35); font-size: 13px; font-weight: 600; color: var(--orange-2); box-shadow: 0 0 0 1px rgba(249,115,22,.05), 0 6px 18px -8px rgba(249,115,22,.4); } .ltd-pill b { color: #fed7aa; font-weight: 700; } .ltd-pill .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 4px rgba(249,115,22,.2); animation: pulse 2.2s infinite; } .ltd-pill .badge { background: linear-gradient(180deg, #fb923c, #ea580c); color: #fff; font-weight: 700; font-size: 11px; padding: 4px 10px; border-radius: 999px; letter-spacing: .04em; box-shadow: inset 0 1px 0 rgba(255,255,255,.2); } @keyframes pulse { 0%, 100% { box-shadow: 0 0 0 4px rgba(249,115,22,.2); } 50% { box-shadow: 0 0 0 9px rgba(249,115,22,.07); } } .eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 6px 13px 6px 10px; border-radius: 999px; background: rgba(56,189,248,.08); border: 1px solid rgba(56,189,248,.25); color: var(--cyan-2); font-size: 12px; font-weight: 600; letter-spacing: .01em; } .eyebrow .d { width: 6px; height: 6px; border-radius: 50%; background: var(--cyan-2); box-shadow: 0 0 8px var(--cyan-2); } .eyebrow-orange { color: var(--orange-2); background: rgba(249,115,22,.08); border-color: rgba(249,115,22,.3); } .eyebrow-orange .d { background: var(--orange-2); box-shadow: 0 0 8px var(--orange-2); } .eyebrow-cyan { color: var(--cyan); } /* ============== Section H ============== */ .sec-h { font-family: 'Plus Jakarta Sans'; /* Fluid typography — scales between mobile (28px) and desktop (42px) */ font-size: clamp(1.75rem, 3.2vw + 1rem, 2.625rem); line-height: 1.15; letter-spacing: -.03em; font-weight: 700; color: #fff; margin: 18px 0 14px; text-wrap: balance; } .sec-sub { font-size: clamp(0.9375rem, 0.25vw + 0.875rem, 1rem); line-height: 1.6; color: var(--body); text-wrap: pretty; } .g-blue { background: linear-gradient(180deg, #38bdf8 0%, #0284c7 100%); -webkit-background-clip: text; background-clip: text; color: transparent; } .g-blue-light { background: linear-gradient(180deg, #7dd3fc 0%, #38bdf8 100%); -webkit-background-clip: text; background-clip: text; color: transparent; } .g-orange { background: linear-gradient(180deg, #fbbf24 0%, #f97316 100%); -webkit-background-clip: text; background-clip: text; color: transparent; } /* ============== HERO ============== */ .hero { padding: 60px 0 80px; position: relative; } .hero-inner { display: flex; flex-direction: column; align-items: center; gap: 64px; text-align: center; } .hero-copy { padding-right: 0; max-width: 820px; margin: 0 auto; } .hero h1 { font-family: 'Inter', system-ui, sans-serif; /* Fluid headline — 34px on small phones up to 60px on desktop */ font-size: clamp(2.125rem, 5.5vw + 1rem, 3.75rem); line-height: 1.05; letter-spacing: -.035em; font-weight: 700; margin: 22px auto 20px; color: #fff; text-wrap: balance; max-width: 880px; } .hero .sub { font-size: clamp(0.9375rem, 0.5vw + 0.85rem, 1.0625rem); line-height: 1.6; color: var(--body); max-width: 640px; margin: 0 auto 32px; } .hero-ctas { display: flex; gap: 12px; align-items: center; justify-content: center; flex-wrap: wrap; } .hero-trust { display: flex; align-items: center; gap: 18px; margin-top: 30px; color: var(--muted); font-size: 13px; flex-wrap: wrap; justify-content: center; } .hero-trust .t-stars { display: flex; align-items: center; gap: 8px; } .hero-trust .t-stars .stars { color: var(--amber); letter-spacing: 1px; font-size: 13px; } .hero-trust .t-stars b { color: #fff; font-weight: 700; } .hero-trust .t-it { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-soft); } .hero-trust .t-it svg { color: var(--mint-2); } .hero-trust .sep { width: 1px; height: 14px; background: var(--line); } /* Hero artwork — full-width landscape banner */ .hero-art { position: relative; width: 100%; max-width: 1180px; aspect-ratio: 21 / 9; margin: 0 auto; padding: 0; } .hero-model-img { width: 100% !important; height: 100% !important; display: block !important; border: 1px solid var(--line-3) !important; border-radius: 24px !important; box-shadow: 0 50px 100px -30px rgba(2,132,199,.35), 0 70px 140px -50px rgba(0,0,0,.7), 0 0 0 1px rgba(56,189,248,.18) inset !important; } .hero-model-overlay { position: absolute; inset: 0; border-radius: 24px; overflow: hidden; pointer-events: none; z-index: 2; } .hmo-grid { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .35; mix-blend-mode: screen; } /* CAD / LiDAR dimension overlay */ .hmo-dims { position: absolute; inset: 0; width: 100%; height: 100%; filter: drop-shadow(0 0 5px rgba(34,211,238,.55)); } .hmo-dims .dim { opacity: 0; animation: dimFade .7s ease forwards; } .hmo-dims .dim:nth-child(1) { animation-delay: .35s; } .hmo-dims .dim:nth-child(2) { animation-delay: .5s; } .hmo-dims .dim:nth-child(3) { animation-delay: .65s; } .hmo-dims .dim:nth-child(4) { animation-delay: .8s; } .hmo-dims .dim:nth-child(5) { animation-delay: .95s; } .hmo-dims .dln { stroke: #22d3ee; stroke-width: 2.4; } .hmo-dims .ext { stroke: rgba(56,189,248,.55); stroke-width: 1.6; stroke-dasharray: 5 6; } .hmo-dims .arw { fill: none; stroke: #22d3ee; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; } .hmo-dims .lbl rect { fill: rgba(5,15,36,.82); stroke: rgba(56,189,248,.5); stroke-width: 1.4; } .hmo-dims .lbl text { fill: #e0f7ff; font-family: "JetBrains Mono", monospace; font-size: 26px; font-weight: 600; text-anchor: middle; paint-order: stroke; } @keyframes dimFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } } .hero-model-overlay .corner { position: absolute; width: 32px; height: 32px; border: 1.5px solid var(--cyan-2); filter: drop-shadow(0 0 8px rgba(56,189,248,.7)); } .hero-model-overlay .corner.tl { top: 20px; left: 20px; border-right: 0; border-bottom: 0; } .hero-model-overlay .corner.tr { top: 20px; right: 20px; border-left: 0; border-bottom: 0; } .hero-model-overlay .corner.bl { bottom: 20px; left: 20px; border-right: 0; border-top: 0; } .hero-model-overlay .corner.br { bottom: 20px; right: 20px; border-left: 0; border-top: 0; } .hero-model-overlay .scan-line { position: absolute; left: 4%; right: 4%; height: 2px; background: linear-gradient(90deg, transparent 0%, rgba(34,211,238,0) 10%, rgba(34,211,238,.9) 50%, rgba(34,211,238,0) 90%, transparent 100%); box-shadow: 0 0 12px rgba(34,211,238,.8); animation: scanY 4s linear infinite; top: 0; } @keyframes scanY { 0% { top: 8%; opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { top: 92%; opacity: 0; } } .art-chip { position: absolute; background: rgba(5,15,36,.78); border: 1px solid rgba(56,189,248,.3); border-radius: 12px; padding: 10px 14px; display: flex; align-items: center; gap: 10px; backdrop-filter: blur(12px) saturate(160%); -webkit-backdrop-filter: blur(12px) saturate(160%); box-shadow: 0 10px 30px -10px rgba(0,0,0,.5), 0 0 0 1px rgba(56,189,248,.15) inset; color: var(--ink); font-size: 11px; } .art-chip .l { color: var(--muted); font-size: 10.5px; font-weight: 500; } .art-chip .v { color: #fff; font-weight: 700; font-size: 13px; letter-spacing: -.01em; } .art-chip .pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 12px var(--cyan), 0 0 0 4px rgba(34,211,238,.2); animation: pulse 1.8s infinite; } .art-chip-tl { top: 28px; left: 28px; color: var(--mint-2); } .art-chip-tl svg { color: var(--mint-2); } .art-chip-tr { top: 28px; right: 28px; color: var(--orange-2); } .art-chip-tr svg { color: var(--orange-2); } .art-chip-br { bottom: 28px; right: 28px; } /* Stat ribbon */ .stat-ribbon { margin-top: 60px; display: grid; grid-template-columns: repeat(4, 1fr); background: rgba(5,15,36,.7); border: 1px solid var(--line); border-radius: 18px; padding: 6px; backdrop-filter: blur(12px) saturate(140%); box-shadow: 0 30px 60px -30px rgba(0,0,0,.6), inset 0 1px 0 rgba(56,189,248,.08); } .stat-it { padding: 18px 22px; display: flex; align-items: center; gap: 14px; border-right: 1px solid var(--line-2); } .stat-it:last-child { border-right: 0; } .stat-it .t { font-size: 14px; font-weight: 700; color: #fff; letter-spacing: -.01em; } .stat-it .s { font-size: 12px; color: var(--muted); margin-top: 2px; } .stat-it .ic { width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; flex: none; border: 1px solid; } .ic-orange { background: rgba(249,115,22,.10); color: var(--orange-2); border-color: rgba(249,115,22,.3); } .ic-cyan { background: rgba(56,189,248,.10); color: var(--cyan-2); border-color: rgba(56,189,248,.3); } .ic-mint { background: rgba(16,185,129,.10); color: var(--mint-2); border-color: rgba(16,185,129,.3); } .ic-purple { background: rgba(167,139,250,.10); color: var(--purple); border-color: rgba(167,139,250,.3); } /* ============== LOGOS BAND ============== */ .logos-band { padding: 32px 0 0; } .logos-inner { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 26px 0; display: flex; align-items: center; justify-content: space-between; gap: 24px; } .logos-l { color: var(--muted); font-size: 12.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; } .logos-l b { color: #fff; font-weight: 700; } .logos-row { display: flex; gap: 56px; align-items: center; flex: 1; justify-content: center; opacity: .7; flex-wrap: wrap; row-gap: 12px; } .logos-row span { color: #94a3b8; font-weight: 700; font-size: 17px; letter-spacing: -.01em; white-space: nowrap; } .logos-row .lg-1 { font-style: italic; font-family: 'JetBrains Mono'; font-weight: 800; } .logos-row .lg-3 { letter-spacing: .3em; font-weight: 600; font-size: 13px; } .logos-row .lg-5 { font-weight: 800; } /* ============== PLATFORM / DASHBOARD WINDOW ============== */ .sec-platform { padding: 130px 0 100px; } .dash-window { max-width: 1180px; margin: 0 auto; background: radial-gradient(ellipse 600px 400px at 80% 100%, rgba(167,139,250,.10), transparent 70%), radial-gradient(ellipse 500px 350px at 0% 0%, rgba(56,189,248,.08), transparent 70%), rgba(10,15,28,.92); border: 1px solid var(--line); border-radius: 24px; overflow: hidden; box-shadow: 0 50px 100px -40px rgba(0,0,0,.7), 0 30px 60px -30px rgba(167,139,250,.25), 0 0 0 1px rgba(56,189,248,.12) inset; backdrop-filter: blur(14px) saturate(140%); } /* Browser bar */ .dw-bar { display: grid; grid-template-columns: 80px 1fr 80px; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--line-2); background: rgba(2,8,23,.4); } .dw-dots { display: flex; gap: 7px; } .dw-dots i { width: 11px; height: 11px; border-radius: 50%; display: block; } .dw-dots i:nth-child(1) { background: #fb7185; } .dw-dots i:nth-child(2) { background: #fbbf24; } .dw-dots i:nth-child(3) { background: #34d399; } .dw-url { justify-self: center; display: inline-flex; align-items: center; gap: 8px; max-width: 460px; width: 100%; padding: 7px 14px; border-radius: 999px; background: rgba(15,33,64,.65); border: 1px solid var(--line-2); font-size: 12.5px; color: var(--ink-soft); font-weight: 500; justify-content: center; } .dw-url svg { color: var(--mint-2); } /* Body */ .dw-body { padding: 30px 32px 32px; } /* KPI strip */ .dw-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 28px; } .dw-kpi { position: relative; padding: 22px 18px; background: rgba(15,33,64,.4); border: 1px solid var(--line-2); border-radius: 16px; text-align: center; transition: border-color .2s, transform .2s, background .2s; } .dw-kpi:hover { border-color: rgba(56,189,248,.35); background: rgba(15,33,64,.6); transform: translateY(-2px); } .dw-kpi-l { font-size: 10.5px; font-weight: 600; color: var(--muted); letter-spacing: .12em; text-transform: uppercase; margin-bottom: 14px; } .dw-kpi-v { font-size: 36px; font-weight: 800; letter-spacing: -.035em; line-height: 1; margin-bottom: 10px; } .dw-kpi-d { font-size: 12px; font-weight: 600; color: var(--mint-2); } /* Color utility classes used in KPI numbers + activity values */ .c-cyan { color: var(--cyan); } .c-purple { color: var(--purple); } .c-mint { color: var(--mint-2); } .c-orange { color: var(--orange-2); } /* Chart + activity split */ .dw-split { display: grid; grid-template-columns: 1.6fr 1fr; gap: 16px; align-items: stretch; } .dw-chart { background: rgba(15,33,64,.35); border: 1px solid var(--line-2); border-radius: 16px; padding: 20px 22px; display: flex; flex-direction: column; min-height: 280px; } .dw-chart-h { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; } .dw-chart-h h4 { font-size: 14px; font-weight: 700; color: #fff; letter-spacing: -.01em; margin: 0; } .dw-chart-h h4 .dim { color: var(--muted); font-weight: 500; } .dw-chart-meta { font-size: 11.5px; color: var(--muted); } .dw-chart-stage { flex: 1; display: flex; flex-direction: column; } .dw-chart-svg { width: 100%; flex: 1; min-height: 180px; } .dw-chart-x { display: flex; justify-content: space-around; margin-top: 4px; font-size: 11px; color: var(--muted); font-weight: 500; } /* Activity stack */ .dw-act { display: flex; flex-direction: column; gap: 10px; } .dw-act-item { background: rgba(15,33,64,.35); border: 1px solid var(--line-2); border-radius: 14px; padding: 14px 18px; transition: border-color .2s, transform .2s, background .2s; } .dw-act-item:hover { border-color: rgba(56,189,248,.35); background: rgba(15,33,64,.55); transform: translateX(2px); } .dw-act-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; } .dw-act-row.sub { margin-top: 6px; } .dw-act-t { font-size: 14px; font-weight: 700; color: #fff; letter-spacing: -.01em; } .dw-act-v { font-size: 14px; font-weight: 700; letter-spacing: -.01em; } .dw-act-row.sub > div { font-size: 11.5px; color: var(--muted); } .dw-act-row.sub .status { font-weight: 600; } /* ============== Dashboard window — product screenshot tabs ============== */ .dw-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 18px 22px 0; position: relative; z-index: 1; } .dw-tab { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; font: 600 12.5px/1 'Plus Jakarta Sans', sans-serif; letter-spacing: -.005em; color: var(--ink-soft); background: rgba(15,33,64,.55); border: 1px solid var(--line-2); cursor: pointer; transition: color .2s, background .2s, border-color .2s, box-shadow .2s, transform .15s; -webkit-tap-highlight-color: transparent; } .dw-tab:hover { color: #fff; border-color: rgba(56,189,248,.4); background: rgba(15,33,64,.78); transform: translateY(-1px); } .dw-tab:focus-visible { outline: 2px solid var(--cyan-2); outline-offset: 2px; } .dw-tab.is-active { color: #fff; background: linear-gradient(180deg, rgba(56,189,248,.22), rgba(56,189,248,.08)); border-color: rgba(56,189,248,.5); box-shadow: inset 0 0 0 1px rgba(56,189,248,.18), 0 8px 22px -10px rgba(56,189,248,.55); } .dw-tab svg { color: var(--cyan-2); flex: none; } .dw-tab.is-active svg { color: #7dd3fc; } /* Screenshot stage — sized to match the screenshot's native ratio (~16:8.85) so the whole image fits without cropping. */ .dw-stage { position: relative; margin: 18px 22px 22px; padding: 0; border-radius: 16px; overflow: hidden; border: 1px solid var(--line-2); background: radial-gradient(ellipse 600px 280px at 50% 0%, rgba(56,189,248,.08), transparent 70%), rgba(2,8,23,.7); aspect-ratio: 1693 / 929; width: auto; max-width: 100%; box-shadow: 0 30px 60px -30px rgba(0,0,0,.7), 0 0 0 1px rgba(56,189,248,.1) inset, 0 0 80px -30px rgba(56,189,248,.25); } .dw-shot { position: absolute; inset: 0; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center; display: block; opacity: 0; transform: scale(1.008); transition: opacity .42s ease, transform .42s ease; pointer-events: none; } .dw-shot.is-active { opacity: 1; transform: scale(1); pointer-events: auto; } /* Subtle scan corners on the stage to keep the brand HUD feel */ .dw-corner { position: absolute; width: 18px; height: 18px; border: 2px solid var(--cyan-2); opacity: .55; pointer-events: none; z-index: 2; } .dw-corner.tl { top: 10px; left: 10px; border-right: 0; border-bottom: 0; border-top-left-radius: 6px; } .dw-corner.tr { top: 10px; right: 10px; border-left: 0; border-bottom: 0; border-top-right-radius: 6px; } .dw-corner.bl { bottom: 10px; left: 10px; border-right: 0; border-top: 0; border-bottom-left-radius: 6px; } .dw-corner.br { bottom: 10px; right: 10px; border-left: 0; border-top: 0; border-bottom-right-radius: 6px; } /* ============== old laptop styles (kept harmless) ============== */ /* Card placement */ .b-hero { grid-column: 1 / 9; grid-row: 1; min-height: 460px; } .b-schedule { grid-column: 9 / 13; grid-row: 1; min-height: 460px; } .b-ai { grid-column: 1 / 6; grid-row: 2; min-height: 280px; } .b-donut { grid-column: 6 / 9; grid-row: 2; min-height: 280px; } .b-map { grid-column: 9 / 13; grid-row: 2; min-height: 280px; } /* Card header */ .bc-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 14px; margin-bottom: 16px; border-bottom: 1px solid var(--line-2); } .bc-title { display: flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 700; color: #fff; letter-spacing: -.01em; } .bc-title > svg { color: var(--cyan-2); } .bc-sub { color: var(--muted); font-weight: 500; font-size: 12px; } .bc-dot.live { width: 7px; height: 7px; border-radius: 50%; background: var(--mint-2); box-shadow: 0 0 10px var(--mint-2); animation: pulse 1.8s infinite; } .bc-meta { font-size: 11px; color: var(--muted); font-family: 'JetBrains Mono'; } .bc-url { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px; background: rgba(2,8,23,.6); border: 1px solid var(--line-2); color: var(--ink-soft); } .bc-url svg { color: var(--mint-2); } /* ===== Hero card ===== */ .b-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 22px; } .b-kpi { padding: 12px 14px; background: rgba(5,15,36,.5); border: 1px solid var(--line-2); border-radius: 12px; } .b-kpi-l { font-size: 10.5px; color: var(--muted); font-weight: 500; } .b-kpi-v { font-size: 22px; font-weight: 800; color: #fff; letter-spacing: -.025em; margin: 2px 0 3px; } .b-kpi-v span { font-size: 14px; color: var(--ink-soft); font-weight: 700; } .b-kpi-d { font-size: 10.5px; font-weight: 600; display: inline-flex; align-items: center; gap: 3px; } .b-kpi-d.up { color: var(--mint-2); } .b-kpi-d.am { color: var(--orange-2); } .b-chart { flex: 1; display: flex; flex-direction: column; } .b-chart-h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; } .b-chart-t { font-size: 12px; color: var(--ink-soft); font-weight: 600; } .b-chart-legend { display: flex; gap: 14px; font-size: 11px; color: var(--muted); } .b-chart-legend span { display: inline-flex; align-items: center; gap: 5px; } .b-chart-legend i { width: 12px; height: 2px; display: inline-block; } .b-chart-svg { width: 100%; height: 130px; overflow: visible; } .b-chart-x { display: flex; justify-content: space-between; margin-top: 6px; font-size: 10px; color: var(--muted-2); font-family: 'JetBrains Mono'; } /* ===== Schedule card ===== */ .b-sched { flex: 1; display: flex; flex-direction: column; gap: 10px; overflow: hidden; } .b-s-row { display: grid; grid-template-columns: 40px 1fr; gap: 10px; align-items: center; } .b-s-time { font-family: 'JetBrains Mono'; font-size: 11px; color: var(--muted); font-weight: 600; text-align: right; } .b-s-event { padding: 8px 12px; border-radius: 9px; border-left: 3px solid; background: rgba(56,189,248,.06); } .b-s-event .t { font-size: 12.5px; font-weight: 700; color: #fff; letter-spacing: -.005em; } .b-s-event .s { font-size: 10.5px; color: var(--ink-soft); margin-top: 2px; opacity: .85; } .b-s-orange { border-left-color: var(--orange-2); background: rgba(249,115,22,.10); } .b-s-orange .t { color: var(--orange-2); } .b-s-cyan { border-left-color: var(--cyan-2); background: rgba(56,189,248,.10); } .b-s-cyan .t { color: var(--cyan-2); } .b-s-mint { border-left-color: var(--mint-2); background: rgba(16,185,129,.10); } .b-s-mint .t { color: var(--mint-2); } .b-s-purple { border-left-color: var(--purple); background: rgba(167,139,250,.10); } .b-s-purple .t { color: var(--purple); } .b-sched-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line-2); font-size: 11px; color: var(--muted); } .b-link { color: var(--cyan-2); text-decoration: none; font-weight: 600; font-size: 11.5px; } /* ===== AI card ===== */ .b-ai { background: linear-gradient(135deg, rgba(167,139,250,.12) 0%, rgba(10,23,46,.7) 60%); border-color: rgba(167,139,250,.25); } .b-ai-pulse { position: absolute; top: -40px; right: -40px; width: 140px; height: 140px; background: radial-gradient(circle, rgba(167,139,250,.4), transparent 70%); filter: blur(20px); pointer-events: none; } .b-ai-ic { width: 22px; height: 22px; border-radius: 7px; background: linear-gradient(135deg, #38bdf8, #a78bfa); display: grid; place-items: center; color: #fff; box-shadow: 0 3px 10px -2px rgba(167,139,250,.5); } .b-ai-msg { font-size: 13.5px; line-height: 1.55; color: var(--ink-soft); margin: 0 0 16px; } .b-ai-msg b { color: #fff; } .b-ai-msg .hl { background: rgba(249,115,22,.18); color: var(--orange-2); padding: 1px 6px; border-radius: 4px; font-weight: 700; } .b-ai-spark { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; padding: 10px 12px; border-radius: 10px; background: rgba(5,15,36,.5); border: 1px solid var(--line-2); } .b-ai-spark-l .lbl { display: block; font-size: 10px; color: var(--muted); font-weight: 500; } .b-ai-spark-l .val { font-size: 18px; font-weight: 800; color: var(--purple); letter-spacing: -.02em; } .b-ai-spark-l .val small { font-size: 11px; color: var(--ink-soft); } .b-ai-spark-svg { width: 70px; height: 28px; } .b-ai-act { display: flex; gap: 8px; margin-top: auto; } .b-ai-btn { flex: 1; padding: 8px 12px; border-radius: 8px; font-family: inherit; font-size: 12px; font-weight: 600; background: rgba(5,15,36,.6); border: 1px solid var(--line); color: var(--ink-soft); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 5px; } .b-ai-btn.pri { background: linear-gradient(180deg, #a78bfa, #7c3aed); color: #fff; border-color: transparent; box-shadow: 0 4px 12px -4px rgba(167,139,250,.5); } /* ===== Donut card ===== */ .b-donut-wrap { flex: 1; display: flex; align-items: center; gap: 14px; } .b-donut-svg { width: 110px; height: 110px; flex: none; } .b-donut-legend { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 7px; flex: 1; min-width: 0; } .b-donut-legend li { display: flex; align-items: center; gap: 8px; font-size: 11.5px; color: var(--ink-soft); } .b-donut-legend li .sw { width: 8px; height: 8px; border-radius: 2px; flex: none; } .b-donut-legend li b { margin-left: auto; color: #fff; font-weight: 700; } /* ===== Map card ===== */ .b-map-stage { position: relative; flex: 1; border-radius: 10px; overflow: hidden; } .b-map-svg { width: 100%; height: 100%; display: block; } .b-map-overlay { position: absolute; bottom: 10px; left: 10px; right: 10px; } .b-map-pin { display: flex; align-items: center; gap: 10px; background: rgba(2,8,23,.85); border: 1px solid var(--line); padding: 8px 12px; border-radius: 10px; backdrop-filter: blur(8px); } .b-map-pin .dot { width: 8px; height: 8px; border-radius: 50%; box-shadow: 0 0 8px currentColor; flex: none; } .b-map-pin .dot.orange { background: var(--orange-2); color: var(--orange-2); } .b-map-pin b { display: block; font-size: 11.5px; color: #fff; font-weight: 700; } .b-map-pin span:not(.dot) { display: block; font-size: 10px; color: var(--muted); } /* ============== old laptop styles (kept harmless) ============== */ .laptop-frame { margin: 0 auto; max-width: 1180px; position: relative; filter: drop-shadow(0 40px 80px rgba(0,0,0,.6)) drop-shadow(0 0 80px rgba(2,132,199,.18)); } .laptop-screen { background: linear-gradient(180deg, #475569 0%, #334155 100%); border-radius: 14px 14px 6px 6px; padding: 12px 12px 0; border: 1px solid #1e293b; border-bottom: 0; } .laptop-base { height: 16px; background: linear-gradient(180deg, #475569 0%, #1e293b 100%); border-radius: 0 0 18px 18px; width: 110%; margin-left: -5%; position: relative; } .laptop-base::after { content:""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 100px; height: 8px; background: #0f172a; border-radius: 0 0 8px 8px; } /* Browser top bar */ .lf-bar { display: flex; align-items: center; gap: 12px; padding: 0 16px 0 12px; height: 36px; background: #0a172e; border-radius: 6px 6px 0 0; } .lf-bar .dots { display: flex; gap: 6px; } .lf-bar .dots i { width: 10px; height: 10px; border-radius: 50%; background: #475569; } .lf-bar .url { flex: 1; max-width: 380px; margin: 0 auto; height: 22px; background: rgba(255,255,255,.04); border: 1px solid var(--line); border-radius: 6px; padding: 0 12px; display: flex; align-items: center; gap: 8px; font-size: 11.5px; color: var(--muted); } .lf-bar .url svg { color: var(--mint-2); } /* Owners Box */ .ob { background: var(--bg-1); display: grid; grid-template-columns: 220px 1fr; height: 660px; } .ob-side { background: var(--bg-2); border-right: 1px solid var(--line-2); padding: 18px 12px; overflow: hidden; } .ob-brand { display: flex; align-items: center; gap: 9px; padding: 0 6px 16px; font-size: 14px; font-weight: 700; color: #fff; border-bottom: 1px solid var(--line-2); margin-bottom: 10px; } .ob-side-list { display: flex; flex-direction: column; gap: 1px; } .ob-i { display: flex; align-items: center; gap: 10px; padding: 7px 10px; border-radius: 7px; font-size: 12.5px; color: var(--ink-soft); font-weight: 500; cursor: pointer; } .ob-i svg { color: var(--muted); flex: none; } .ob-i:hover { background: rgba(56,189,248,.06); color: #fff; } .ob-i.active { background: rgba(56,189,248,.10); color: var(--cyan-2); font-weight: 600; } .ob-i.active svg { color: var(--cyan-2); } .ob-i.ai svg { color: var(--purple); } .ob-i .c { margin-left: auto; font-size: 10.5px; font-weight: 700; background: rgba(56,189,248,.15); color: var(--cyan-2); padding: 1px 6px; border-radius: 4px; } /* Main */ .ob-main { padding: 18px 22px; overflow: hidden; } .ob-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 18px; } .ob-hi { font-size: 16px; font-weight: 700; color: #fff; letter-spacing: -.015em; } .ob-sub { font-size: 12px; color: var(--muted); margin-top: 2px; } .ob-top-r { display: flex; align-items: center; gap: 10px; } .ob-btn { background: var(--bg-3); color: var(--ink-soft); border: 1px solid var(--line); padding: 7px 11px; border-radius: 7px; font-size: 11.5px; font-weight: 600; cursor: pointer; font-family: inherit; } .ob-bell { position: relative; width: 30px; height: 30px; border-radius: 8px; background: var(--bg-3); border: 1px solid var(--line); color: var(--ink-soft); display: grid; place-items: center; cursor: pointer; } .ob-bell .badge-dot { position: absolute; top: 6px; right: 6px; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 2px var(--bg-3); } .av-j { width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg, #fb923c, #ea580c); display: grid; place-items: center; color: #fff; font-size: 12px; font-weight: 700; } /* KPIs */ .ob-kpis { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 16px; } .kpi { background: var(--bg-2); border: 1px solid var(--line-2); border-radius: 12px; padding: 12px 14px; display: flex; align-items: center; gap: 12px; } .kpi-ic { width: 36px; height: 36px; border-radius: 9px; display: grid; place-items: center; flex: none; } .kpi-ic-orange { background: rgba(249,115,22,.12); color: var(--orange-2); } .kpi-ic-cyan { background: rgba(56,189,248,.12); color: var(--cyan-2); } .kpi-ic-mint { background: rgba(16,185,129,.12); color: var(--mint-2); } .kpi-ic-purple { background: rgba(167,139,250,.12); color: var(--purple); } .kpi-l { font-size: 11px; color: var(--muted); font-weight: 500; } .kpi-v { font-size: 18px; font-weight: 800; color: #fff; letter-spacing: -.02em; margin-top: 1px; } .kpi-s { font-size: 10.5px; font-weight: 600; color: var(--muted); } .kpi-s.up { color: var(--mint-2); } /* Grid */ .ob-grid { display: grid; grid-template-columns: 1.4fr 1fr; grid-template-rows: auto auto; gap: 12px; } .ob-card { background: var(--bg-2); border: 1px solid var(--line-2); border-radius: 12px; padding: 14px 16px; } .ob-sched { grid-row: span 2; } .ob-card-h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; font-size: 13px; font-weight: 700; color: #fff; letter-spacing: -.01em; } .ob-card-h-r { font-size: 11px; color: var(--muted); display: flex; align-items: center; gap: 6px; } .ob-card-h-r .tab { padding: 3px 8px; border-radius: 5px; cursor: pointer; font-weight: 500; font-size: 10.5px; } .ob-card-h-r .tab.on { background: rgba(56,189,248,.12); color: var(--cyan-2); font-weight: 600; } .ob-card-h-r .link { color: var(--cyan-2); font-weight: 600; cursor: pointer; } /* Schedule */ .sched-list { display: flex; flex-direction: column; gap: 8px; } .sched-row { display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: center; } .sched-row .time { font-family: 'JetBrains Mono'; font-size: 11px; color: var(--muted); font-weight: 600; } .sched-card { padding: 8px 12px; border-radius: 8px; border-left: 3px solid; background: rgba(56,189,248,.06); } .sched-card .t { font-size: 12.5px; font-weight: 700; color: #fff; } .sched-card .s { font-size: 11px; color: var(--ink-soft); margin-top: 2px; } .sched-orange { background: rgba(249,115,22,.10); border-left-color: var(--orange-2); } .sched-orange .t { color: var(--orange-2); } .sched-cyan { background: rgba(56,189,248,.10); border-left-color: var(--cyan-2); } .sched-cyan .t { color: var(--cyan-2); } .sched-mint { background: rgba(16,185,129,.10); border-left-color: var(--mint-2); } .sched-mint .t { color: var(--mint-2); } .sched-purple { background: rgba(167,139,250,.10); border-left-color: var(--purple); } .sched-purple .t { color: var(--purple); } /* Donut */ .donut-wrap { display: flex; align-items: center; gap: 18px; } .donut-legend { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; font-size: 11.5px; color: var(--ink-soft); } .donut-legend .sw { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 8px; vertical-align: middle; } /* Activity */ .act-list { display: flex; flex-direction: column; gap: 9px; } .act { display: grid; grid-template-columns: 24px 1fr; gap: 10px; align-items: flex-start; font-size: 11.5px; color: var(--ink-soft); } .act b { color: #fff; font-weight: 700; } .act .d { color: var(--muted); font-size: 10px; } .act .ic { width: 22px; height: 22px; border-radius: 6px; display: grid; place-items: center; } .act .ic.cyan { background: rgba(56,189,248,.12); color: var(--cyan-2); } .act .ic.mint { background: rgba(16,185,129,.12); color: var(--mint-2); } .act .ic.purple { background: rgba(167,139,250,.12); color: var(--purple); } .act .ic.orange { background: rgba(249,115,22,.12); color: var(--orange-2); } /* Mini map */ .ob-map .map-stage { position: relative; border-radius: 8px; overflow: hidden; } .mini-map { width: 100%; display: block; } .map-stat { position: absolute; bottom: 8px; left: 10px; right: 10px; background: rgba(5,15,36,.85); border: 1px solid var(--line); padding: 6px 10px; border-radius: 6px; font-size: 11px; color: var(--ink-soft); } .map-stat b { color: var(--cyan-2); } /* Mobile companion */ .mobile-companion { margin-top: 90px; display: grid; grid-template-columns: 1fr 280px 1fr; gap: 60px; align-items: center; background: linear-gradient(180deg, rgba(10,23,46,.5) 0%, rgba(5,15,36,.6) 100%); border: 1px solid var(--line); border-radius: 24px; padding: 56px 56px; position: relative; overflow: hidden; } .mc-img-wrap { position: relative; border-radius: 18px; overflow: hidden; border: 1px solid var(--line-3); aspect-ratio: 4/5; box-shadow: 0 30px 60px -20px rgba(0,0,0,.5); } .mc-img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; } .mc-img-wrap::after { content:""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(2,8,23,.75) 100%), linear-gradient(45deg, rgba(2,132,199,.15), transparent 60%); pointer-events: none; } /* Variant: when the wrap shows a CRM screenshot (landscape) instead of a portrait photo. Aspect ratio matches the actual screenshot so the whole image fits without cropping. */ .mc-img-wrap.mc-img-shot { aspect-ratio: 1693 / 929; background: radial-gradient(ellipse 380px 200px at 50% 0%, rgba(56,189,248,.10), transparent 70%), rgba(2,8,23,.85); border-color: rgba(56,189,248,.22); box-shadow: 0 30px 60px -20px rgba(0,0,0,.55), 0 0 80px -30px rgba(56,189,248,.25); } .mc-img-wrap.mc-img-shot img { width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center; } .mc-img-wrap.mc-img-shot::after { background: linear-gradient(180deg, transparent 70%, rgba(2,8,23,.55) 100%), linear-gradient(45deg, rgba(56,189,248,.08), transparent 60%); } .mc-img-tag { position: absolute; bottom: 16px; left: 16px; right: 16px; display: flex; align-items: center; gap: 10px; background: rgba(2,8,23,.75); backdrop-filter: blur(12px); border: 1px solid var(--line-3); padding: 8px 12px; border-radius: 10px; font-size: 11px; color: var(--ink-soft); z-index: 2; } .mc-img-tag .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 8px var(--cyan); animation: pulse 1.8s infinite; flex: none; } .mc-img-tag b { color: var(--cyan-2); font-weight: 700; } .mobile-companion::before { content:""; position: absolute; right: -100px; top: -120px; width: 400px; height: 400px; border-radius: 50%; background: radial-gradient(circle, rgba(56,189,248,.15), transparent 70%); } .mc-l h3 { font-size: 28px; line-height: 1.15; letter-spacing: -.025em; font-weight: 700; color: #fff; margin: 14px 0 10px; } .mc-l p { font-size: 14.5px; color: var(--body); margin: 0 0 22px; line-height: 1.6; max-width: 500px; } .mc-feats { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; } .mc-feats li { display: flex; align-items: center; gap: 10px; font-size: 14.5px; color: var(--ink-soft); } .mc-feats li svg { color: var(--mint-2); flex: none; } /* Phone */ .phone-shell { position: relative; width: 260px; aspect-ratio: 9/19.5; background: #0f172a; border-radius: 38px; padding: 6px; box-shadow: 0 40px 80px -20px rgba(0,0,0,.6), 0 0 0 1px rgba(56,189,248,.2), inset 0 0 0 1px rgba(255,255,255,.04); border: 1px solid #1e293b; } .phone-notch { position: absolute; top: 14px; left: 50%; transform: translateX(-50%); width: 80px; height: 22px; background: #000; border-radius: 999px; z-index: 2; } .phone-screen { width: 100%; height: 100%; border-radius: 32px; overflow: hidden; background: #050f24; position: relative; display: flex; flex-direction: column; padding: 8px 10px 12px; color: var(--ink); } .phone-screen-img { padding: 0; } .phone-img { width: 100%; height: 100%; display: block; object-fit: cover; } .ph-status { display: flex; justify-content: space-between; align-items: center; font-size: 10px; font-weight: 700; color: #fff; padding: 6px 14px 12px; } .ph-status .ph-r { display: flex; align-items: center; gap: 4px; color: #fff; font-size: 9px; } .ph-back { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; color: #fff; padding: 0 4px 8px; } .ph-back svg { color: var(--cyan-2); } .ph-addr { font-size: 9.5px; color: var(--muted); padding: 0 4px 8px; } .ph-tabs { display: flex; gap: 14px; padding: 4px 4px 10px; border-bottom: 1px solid var(--line-2); } .ph-tabs span { font-size: 10px; color: var(--muted); font-weight: 600; padding-bottom: 4px; } .ph-tabs .on { color: #fff; border-bottom: 2px solid var(--cyan-2); } .ph-roof { padding: 12px 4px 8px; } .ph-roof-svg { width: 100%; height: auto; display: block; } .ph-stat { padding: 12px 4px 10px; border-bottom: 1px solid var(--line-2); } .ph-stat .l { font-size: 9.5px; color: var(--muted); font-weight: 500; } .ph-stat .v { font-size: 16px; font-weight: 800; color: var(--cyan-2); letter-spacing: -.02em; margin-top: 2px; } .ph-stat .v small { font-size: 9px; color: var(--muted); font-weight: 500; } .ph-cta { margin: 14px 4px 0; padding: 10px; border-radius: 10px; border: 0; background: linear-gradient(180deg, #38bdf8, #0284c7); color: #fff; font-weight: 700; font-size: 12px; cursor: pointer; font-family: inherit; box-shadow: 0 6px 16px -6px rgba(2,132,199,.5); } /* ============== 6 CORE SYSTEMS ============== */ .sec-systems { padding: 100px 0; } .sys-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; } .sys-card { position: relative; background: rgba(10,23,46,.6); border: 1px solid var(--line-2); border-radius: 20px; padding: 30px 28px 28px; backdrop-filter: blur(10px); transition: transform .2s ease, border-color .2s, box-shadow .2s; overflow: hidden; } .sys-card::before { content:""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(140deg, rgba(56,189,248,.08), transparent 50%); opacity: .7; pointer-events: none; } .sys-card:hover { transform: translateY(-4px); border-color: rgba(56,189,248,.4); box-shadow: 0 30px 60px -30px rgba(2,132,199,.4); } .sys-num { position: absolute; top: 26px; right: 28px; font-family: 'JetBrains Mono'; font-size: 12px; color: var(--muted-2); font-weight: 600; } .sys-ic { width: 56px; height: 56px; border-radius: 14px; display: grid; place-items: center; border: 1px solid; margin-bottom: 24px; } .sys-cyan .sys-ic { background: rgba(56,189,248,.10); border-color: rgba(56,189,248,.3); color: var(--cyan-2); box-shadow: 0 0 24px -6px rgba(56,189,248,.4); } .sys-orange .sys-ic { background: rgba(249,115,22,.10); border-color: rgba(249,115,22,.3); color: var(--orange-2); box-shadow: 0 0 24px -6px rgba(249,115,22,.4); } .sys-mint .sys-ic { background: rgba(16,185,129,.10); border-color: rgba(16,185,129,.3); color: var(--mint-2); box-shadow: 0 0 24px -6px rgba(16,185,129,.4); } .sys-purple .sys-ic { background: rgba(167,139,250,.10); border-color: rgba(167,139,250,.3); color: var(--purple); box-shadow: 0 0 24px -6px rgba(167,139,250,.4); } .sys-card h3 { font-size: 19px; font-weight: 700; letter-spacing: -.02em; color: #fff; margin: 0 0 8px; } .sys-card p { font-size: 13.5px; line-height: 1.55; color: var(--body); margin: 0 0 16px; } .sys-tag { display: inline-flex; align-items: center; font-size: 11.5px; font-weight: 600; padding: 5px 11px; border-radius: 999px; background: rgba(56,189,248,.10); color: var(--cyan-2); border: 1px solid rgba(56,189,248,.2); } .sys-orange .sys-tag { background: rgba(249,115,22,.10); color: var(--orange-2); border-color: rgba(249,115,22,.25); } .sys-mint .sys-tag { background: rgba(16,185,129,.10); color: var(--mint-2); border-color: rgba(16,185,129,.25); } .sys-purple .sys-tag { background: rgba(167,139,250,.10); color: var(--purple); border-color: rgba(167,139,250,.25); } /* ============== CALENDAR ============== */ .sec-calendar { padding: 100px 0; } .cal-row { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 60px; align-items: center; } .cal-points { display: flex; flex-direction: column; gap: 24px; margin-top: 32px; } .cal-pt { display: flex; gap: 16px; align-items: flex-start; } .cal-pt-ic { width: 42px; height: 42px; border-radius: 11px; flex: none; display: grid; place-items: center; background: rgba(56,189,248,.10); color: var(--cyan-2); border: 1px solid rgba(56,189,248,.25); } .cal-pt-ic.cyan { background: rgba(56,189,248,.10); color: var(--cyan); border-color: rgba(34,211,238,.3); box-shadow: 0 0 20px -6px rgba(34,211,238,.5); } .cal-pt-ic.mint { background: rgba(16,185,129,.10); color: var(--mint-2); border-color: rgba(16,185,129,.3); } .cal-pt h4 { font-size: 15px; font-weight: 700; color: #fff; margin: 0 0 3px; letter-spacing: -.01em; } .cal-pt p { font-size: 13px; color: var(--body); margin: 0; line-height: 1.55; } /* Calendar window */ .cal-stage { position: relative; } .cal-window { background: var(--bg-1); border: 1px solid var(--line); border-radius: 20px; overflow: hidden; box-shadow: 0 40px 80px -30px rgba(0,0,0,.6), 0 0 0 1px rgba(56,189,248,.1) inset; position: relative; } .cal-w-head { display: grid; grid-template-columns: 100px 1fr 110px; padding: 14px 16px; border-bottom: 1px solid var(--line-2); background: rgba(10,23,46,.5); align-items: center; gap: 12px; } .cal-w-l { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: #fff; } .cal-w-l svg { color: var(--cyan-2); } .cal-w-c { display: flex; align-items: center; gap: 10px; justify-content: center; font-size: 13px; color: var(--ink); font-weight: 600; } .cal-w-r { display: flex; align-items: center; gap: 8px; justify-content: flex-end; } .cal-w-r .seg { padding: 5px 11px; border-radius: 6px; background: var(--bg-3); border: 1px solid var(--line); font-size: 12px; color: var(--ink-soft); font-weight: 600; } .navb { width: 26px; height: 26px; border-radius: 7px; background: var(--bg-3); border: 1px solid var(--line); color: var(--ink-soft); display: grid; place-items: center; cursor: pointer; } .cal-w-days { display: grid; grid-template-columns: 60px repeat(7, 1fr); border-bottom: 1px solid var(--line-2); background: rgba(15,33,64,.4); } .cal-w-days > div { padding: 10px 8px; text-align: center; font-size: 10.5px; color: var(--muted); font-weight: 600; letter-spacing: .08em; border-left: 1px solid var(--line-2); } .cal-w-days > div:first-child { border-left: 0; } .cal-w-days > div b { display: block; color: #fff; font-size: 16px; margin-top: 4px; font-weight: 700; letter-spacing: -.01em; } .cal-w-days .tod { color: var(--cyan-2); } .cal-w-days .tod b { color: var(--cyan-2); } .cal-w-body { position: relative; display: grid; grid-template-columns: 60px repeat(7, 1fr); height: 360px; background: linear-gradient(var(--line-2) 1px, transparent 1px) 0 0/100% 51.4px; } .cal-w-time { display: flex; flex-direction: column; } .cal-w-time span { flex: 1; padding: 4px 8px 0 0; text-align: right; font-size: 10px; color: var(--muted); font-family: 'JetBrains Mono'; } .cal-w-col { border-left: 1px solid var(--line-2); position: relative; } .cal-e { position: absolute; left: 4px; right: 4px; border-radius: 7px; padding: 6px 8px; background: rgba(56,189,248,.10); border-left: 3px solid var(--cyan-2); font-size: 10px; } .cal-e .t { font-weight: 700; font-size: 10.5px; color: var(--cyan-2); } .cal-e .s { font-size: 9.5px; color: var(--ink-soft); margin-top: 1px; line-height: 1.3; } .cal-e.cyan .t { color: var(--cyan-2); } .cal-e.orange { background: rgba(249,115,22,.12); border-left-color: var(--orange-2); } .cal-e.orange .t { color: var(--orange-2); } .cal-e.mint { background: rgba(16,185,129,.12); border-left-color: var(--mint-2); } .cal-e.mint .t { color: var(--mint-2); } /* AI popover */ .ai-pop { position: absolute; top: 152px; left: 38%; width: 320px; background: rgba(5,15,36,.92); border: 1px solid rgba(56,189,248,.35); border-radius: 14px; padding: 16px; box-shadow: 0 20px 60px -10px rgba(0,0,0,.7), 0 0 30px -10px rgba(56,189,248,.4); z-index: 4; backdrop-filter: blur(16px); } .ai-pop::before { content:""; position: absolute; left: -7px; top: 30px; width: 12px; height: 12px; background: inherit; border-left: 1px solid rgba(56,189,248,.35); border-bottom: 1px solid rgba(56,189,248,.35); transform: rotate(45deg); } .ai-pop-h { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; } .ai-ic { width: 32px; height: 32px; border-radius: 10px; background: linear-gradient(135deg, #38bdf8, #a78bfa); display: grid; place-items: center; color: #fff; box-shadow: 0 4px 14px -4px rgba(56,189,248,.5); } .ai-pop-h .t { font-size: 14px; font-weight: 700; color: var(--cyan-2); } .ai-pop-h .s { font-size: 11px; color: var(--muted); margin-top: 1px; } .ai-pop p { font-size: 13px; color: var(--ink-soft); line-height: 1.5; margin: 0 0 14px; } .ai-pop p b { color: #fff; } .ai-pop p .hl { background: rgba(249,115,22,.18); color: var(--orange-2); padding: 1px 6px; border-radius: 4px; font-weight: 700; } .ai-act { display: flex; gap: 8px; } .ai-btn { flex: 1; padding: 8px 10px; border-radius: 8px; background: var(--bg-3); color: var(--ink-soft); border: 1px solid var(--line); font-family: inherit; font-size: 12px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 6px; } .ai-btn.pri { background: linear-gradient(180deg, #38bdf8, #0284c7); color: #fff; border-color: transparent; box-shadow: 0 4px 12px -4px rgba(2,132,199,.5); } /* Integration chips */ .cal-int { margin-top: 22px; display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; } .cal-int .int { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: rgba(10,23,46,.7); border: 1px solid var(--line); font-size: 12.5px; font-weight: 600; color: var(--ink-soft); } .cal-int .int svg { color: var(--cyan-2); } /* ============== MEASUREMENTS ============== */ .sec-measure { padding: 100px 0; } .meas-stage { position: relative; display: grid; grid-template-columns: 1.4fr 280px; gap: 60px; align-items: center; background: radial-gradient(ellipse 600px 400px at 30% 50%, rgba(56,189,248,.10), transparent 70%); padding: 40px 20px; } .meas-art { position: relative; background: var(--bg-1); border: 1px solid var(--line); border-radius: 20px; padding: 0; overflow: hidden; } .meas-svg { width: 100%; height: auto; display: block; max-width: 100%; object-fit: cover; border-radius: 0; } /* img.meas-svg { aspect-ratio: 3 / 2; } */ .meas-pill { position: absolute; background: rgba(5,15,36,.92); border: 1px solid var(--line-3); border-radius: 12px; padding: 12px 14px; display: flex; align-items: center; gap: 12px; backdrop-filter: blur(12px); box-shadow: 0 10px 30px -10px rgba(0,0,0,.5); max-width: 240px; } .meas-pill .ic { width: 32px; height: 32px; border-radius: 9px; flex: none; background: rgba(56,189,248,.12); color: var(--cyan-2); display: grid; place-items: center; } .meas-pill b { display: block; font-size: 13px; color: #fff; font-weight: 700; letter-spacing: -.01em; } .meas-pill span { font-size: 11.5px; color: var(--muted); display: block; margin-top: 2px; line-height: 1.4; } .meas-pill-tl { top: 36px; left: 36px; } .meas-pill-bl { bottom: 36px; left: 36px; } /* Performance row */ .perf-row { margin-top: 60px; display: grid; grid-template-columns: repeat(5, 1fr); background: rgba(10,23,46,.6); border: 1px solid var(--line); border-radius: 20px; padding: 8px; } .perf-it { padding: 22px 18px; text-align: center; border-right: 1px solid var(--line-2); } .perf-it:last-child { border-right: 0; } .perf-ic { width: 48px; height: 48px; margin: 0 auto 14px; border-radius: 12px; background: rgba(56,189,248,.10); color: var(--cyan-2); display: grid; place-items: center; border: 1px solid rgba(56,189,248,.25); } .perf-v { font-size: 16px; font-weight: 700; color: #fff; letter-spacing: -.02em; margin-bottom: 4px; } .perf-l { font-size: 11.5px; color: var(--body); line-height: 1.45; } /* Measurement Summary on phone */ .ms-block { padding: 8px 4px 4px; } .ms-block .l { font-size: 9.5px; color: var(--muted); font-weight: 500; } .ms-block .v { font-size: 18px; font-weight: 800; color: var(--cyan-2); letter-spacing: -.02em; margin-top: 1px; } .ms-block .v small { font-size: 9px; color: var(--muted); font-weight: 500; } .ms-tabs { display: flex; gap: 4px; padding: 8px 4px; border-bottom: 1px solid var(--line-2); margin-top: 4px; } .ms-tabs span { flex: 1; text-align: center; padding: 5px 0; border-radius: 6px; font-size: 9.5px; color: var(--muted); font-weight: 600; } .ms-tabs .on { background: rgba(56,189,248,.15); color: var(--cyan-2); } .ms-planes { padding: 8px 4px; flex: 1; overflow: hidden; } .ms-pl { display: flex; justify-content: space-between; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--line-2); font-size: 10px; color: var(--ink-soft); } .ms-pl b { color: #fff; font-weight: 600; } .ms-cta { margin: 8px 4px 4px; padding: 10px; border-radius: 10px; border: 0; background: linear-gradient(180deg, #38bdf8, #0284c7); color: #fff; font-weight: 700; font-size: 11px; cursor: pointer; font-family: inherit; box-shadow: 0 6px 16px -6px rgba(2,132,199,.5); } /* ============== CONNECTED ============== */ .sec-connected { padding: 100px 0; } .connected-stage { position: relative; display: grid; grid-template-columns: 1fr 460px 1fr; align-items: center; gap: 40px; } .conn-side { display: flex; flex-direction: column; gap: 22px; } .conn-side.right { padding-left: 20px; } .conn-feat { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; background: rgba(10,23,46,.6); border: 1px solid var(--line-2); border-radius: 14px; transition: border-color .2s, transform .2s; } .conn-feat:hover { border-color: rgba(56,189,248,.4); transform: translateX(4px); } .conn-side.right .conn-feat:hover { transform: translateX(-4px); } .conn-ic { width: 40px; height: 40px; border-radius: 10px; flex: none; background: rgba(56,189,248,.10); color: var(--cyan-2); border: 1px solid rgba(56,189,248,.25); display: grid; place-items: center; } .conn-feat h4 { font-size: 14px; font-weight: 700; color: #fff; margin: 0 0 3px; letter-spacing: -.01em; } .conn-feat p { font-size: 12px; color: var(--body); margin: 0; line-height: 1.45; } .conn-center { position: relative; } .conn-svg { width: 100%; height: auto; display: block; } /* Benefit row */ .benefit-row { margin-top: 60px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; } .ben-it { display: flex; gap: 16px; align-items: center; padding: 22px 24px; background: rgba(10,23,46,.6); border: 1px solid var(--line-2); border-radius: 16px; } .ben-ic { width: 44px; height: 44px; border-radius: 11px; background: rgba(56,189,248,.10); color: var(--cyan-2); border: 1px solid rgba(56,189,248,.25); display: grid; place-items: center; flex: none; } .ben-it h4 { font-size: 14.5px; font-weight: 700; color: #fff; margin: 0 0 3px; letter-spacing: -.01em; } .ben-it p { font-size: 12.5px; color: var(--body); margin: 0; line-height: 1.45; } /* ============== PRICING ============== */ .sec-pricing { padding: 100px 0; } .pricing-grid { display: grid; grid-template-columns: 1fr 1fr 1.15fr; gap: 16px; align-items: stretch; max-width: 1180px; margin: 0 auto; } .p-card { background: rgba(10,23,46,.6); border: 1px solid var(--line); border-radius: 22px; padding: 32px 30px; display: flex; flex-direction: column; position: relative; backdrop-filter: blur(10px); } .p-muted { background: rgba(5,15,36,.5); } .p-card h4 { font-size: 12.5px; font-weight: 700; color: var(--muted); letter-spacing: .08em; text-transform: uppercase; margin: 0 0 8px; } .p-name { font-size: 18px; font-weight: 700; letter-spacing: -.02em; color: #fff; margin: 0 0 10px; } .p-muted .p-name { color: var(--muted-2); text-decoration: line-through; text-decoration-color: rgba(239,68,68,.65); text-decoration-thickness: 2px; } .p-desc { font-size: 13.5px; color: var(--body); line-height: 1.5; margin: 0 0 22px; min-height: 56px; } .p-price { display: flex; align-items: baseline; gap: 8px; margin-bottom: 6px; } .p-price .amt { font-size: 40px; font-weight: 800; letter-spacing: -.03em; color: #fff; } .p-price .per { font-size: 13.5px; color: var(--muted); } .p-price.cross .amt { color: var(--muted-2); text-decoration: line-through; text-decoration-color: rgba(239,68,68,.7); text-decoration-thickness: 2px; } .p-note { font-size: 12.5px; color: var(--muted); margin-bottom: 22px; } .p-btn { width: 100%; } .p-feats { list-style: none; padding: 22px 0 0; margin: 22px 0 0; border-top: 1px solid var(--line-2); display: flex; flex-direction: column; gap: 10px; } .p-feats li { font-size: 13.5px; color: var(--ink-soft); display: flex; gap: 10px; align-items: flex-start; line-height: 1.4; } .p-feats li b { color: #fff; font-weight: 700; } .p-feats li.x { color: var(--muted); } .p-feats li .ck { flex: none; margin-top: 2px; color: var(--mint-2); } .p-feats li .ck.mu { color: var(--muted-2); } .p-feats li .ck.o { color: var(--orange-2); } /* LTD */ .p-ltd { background: radial-gradient(ellipse 360px 200px at 50% 0%, rgba(249,115,22,.15), transparent 70%), linear-gradient(180deg, rgba(45,22,5,.6) 0%, rgba(10,23,46,.7) 60%); border: 2px solid var(--orange); box-shadow: 0 0 0 1px rgba(249,115,22,.2) inset, 0 40px 80px -30px rgba(249,115,22,.45), 0 20px 40px -20px rgba(0,0,0,.5); padding: 36px 32px; margin: -12px 0; } .p-ribbon { position: absolute; top: -15px; left: 50%; transform: translateX(-50%); background: linear-gradient(180deg, #fb923c 0%, #f97316 60%, #ea580c 100%); color: #fff; font-weight: 700; font-size: 12px; padding: 8px 16px; border-radius: 999px; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 10px 20px -6px rgba(249,115,22,.6); white-space: nowrap; } .p-ltd h4 { color: var(--orange-2); } .p-ltd .p-price .amt { background: linear-gradient(180deg, #fbbf24, #f97316); -webkit-background-clip: text; background-clip: text; color: transparent; } .p-save { display: inline-flex; align-items: center; gap: 6px; background: rgba(249,115,22,.15); color: var(--orange-2); border: 1px solid rgba(249,115,22,.35); padding: 4px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 700; align-self: flex-start; margin-bottom: 14px; } /* Pricing trust */ .p-trust { margin-top: 40px; display: flex; align-items: center; justify-content: center; gap: 30px; flex-wrap: wrap; color: var(--body); font-size: 13px; } .p-trust .t-it { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-soft); } .p-trust .t-it svg { color: var(--mint-2); } /* ============== REVIEWS ============== */ .sec-reviews { padding: 100px 0 80px; } .reviews-grid { columns: 3; column-gap: 18px; } .rev { break-inside: avoid; background: rgba(10,23,46,.6); border: 1px solid var(--line-2); border-radius: 16px; padding: 22px; margin-bottom: 18px; backdrop-filter: blur(8px); } .rev .stars { color: var(--amber); letter-spacing: 1px; font-size: 13px; margin-bottom: 12px; } .rev p { font-size: 13.5px; line-height: 1.6; color: var(--ink-soft); margin: 0 0 16px; } .rev-m { display: flex; align-items: center; gap: 10px; } .rev .av { width: 36px; height: 36px; border-radius: 50%; flex: none; } .av-1 { background: linear-gradient(135deg, #fcd34d, #f59e0b); } .av-2 { background: linear-gradient(135deg, #7dd3fc, #0284c7); } .av-3 { background: linear-gradient(135deg, #6ee7b7, #10b981); } .av-4 { background: linear-gradient(135deg, #fbcfe8, #ec4899); } .av-5 { background: linear-gradient(135deg, #ddd6fe, #7c3aed); } .av-6 { background: linear-gradient(135deg, #fed7aa, #ea580c); } .av-7 { background: linear-gradient(135deg, #a5f3fc, #0891b2); } .av-8 { background: linear-gradient(135deg, #fecaca, #dc2626); } .av-9 { background: linear-gradient(135deg, #e9d5ff, #9333ea); } .rev .who { font-size: 13px; font-weight: 700; color: #fff; letter-spacing: -.01em; } .rev .role { font-size: 11.5px; color: var(--muted); margin-top: 1px; } .rev .badge { display: inline-flex; align-items: center; gap: 4px; background: rgba(16,185,129,.15); color: var(--mint-2); font-size: 10px; font-weight: 700; padding: 3px 7px; border-radius: 4px; margin-left: auto; } .rev-feat { background: linear-gradient(180deg, rgba(2,132,199,.25), rgba(10,23,46,.7)); border-color: rgba(56,189,248,.4); box-shadow: 0 20px 60px -20px rgba(2,132,199,.4); } .rev-feat p { font-size: 15px; color: #e0f2fe; font-weight: 500; line-height: 1.55; } /* ============== FINAL CTA ============== */ .sec-final { padding: 80px 0 60px; } .final-card { position: relative; background: radial-gradient(ellipse 600px 360px at 90% 90%, rgba(249,115,22,.20), transparent 60%), radial-gradient(ellipse 800px 460px at 0% 0%, rgba(56,189,248,.18), transparent 60%), linear-gradient(180deg, rgba(10,23,46,.85) 0%, rgba(5,15,36,.95) 100%); border: 1px solid var(--line-3); border-radius: 28px; padding: 70px 64px; display: grid; grid-template-columns: 1.4fr 1fr; align-items: center; gap: 50px; overflow: hidden; box-shadow: 0 40px 80px -30px rgba(0,0,0,.6); } .countdown { background: rgba(5,15,36,.7); border: 1px solid rgba(249,115,22,.3); border-radius: 18px; padding: 22px; backdrop-filter: blur(14px); } .cd-h { font-size: 12px; font-weight: 700; color: var(--orange-2); letter-spacing: .08em; text-transform: uppercase; display: flex; align-items: center; gap: 8px; margin-bottom: 16px; } .cd-h .d { width: 8px; height: 8px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 4px rgba(249,115,22,.2); } .cd-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 14px; } .cd-cell { background: rgba(255,255,255,.04); border: 1px solid rgba(249,115,22,.18); border-radius: 12px; padding: 14px 6px; text-align: center; } .cd-cell .n { font-family: 'JetBrains Mono'; font-size: 24px; font-weight: 700; color: #fff; letter-spacing: -.02em; } .cd-cell .l { font-size: 9.5px; color: var(--muted); margin-top: 4px; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; } .cd-foot { font-size: 11.5px; color: var(--ink-soft); } .cd-foot .left { display: block; margin-bottom: 6px; } .cd-bar { height: 6px; background: rgba(255,255,255,.05); border-radius: 999px; overflow: hidden; border: 1px solid var(--line-2); } .cd-bar i { display: block; height: 100%; background: linear-gradient(90deg, #fbbf24, #f97316); border-radius: 999px; } /* ============== FOOTER ============== */ .footer { border-top: 1px solid var(--line); padding: 70px 0 30px; background: rgba(2,8,23,.7); } .foot-top { display: grid; grid-template-columns: 1.2fr 3fr; gap: 60px; padding-bottom: 50px; border-bottom: 1px solid var(--line-2); } .foot-brand p { font-size: 13.5px; color: var(--body); line-height: 1.55; margin: 16px 0 18px; max-width: 320px; } .foot-cert { display: flex; gap: 14px; flex-wrap: wrap; } .foot-cert span { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: rgba(56,189,248,.06); border: 1px solid var(--line); font-size: 11.5px; font-weight: 600; color: var(--ink-soft); } .foot-cert svg { color: var(--mint-2); } .foot-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; } .foot-cols h5 { font-size: 12px; font-weight: 700; color: #fff; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 16px; } .foot-cols a { display: block; color: var(--body); text-decoration: none; font-size: 13.5px; padding: 5px 0; transition: color .2s; } .foot-cols a:hover { color: var(--cyan-2); } .foot-bot { padding-top: 26px; display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: 12.5px; } .foot-bot .tagline { font-weight: 700; font-size: 13px; color: #fff; letter-spacing: .02em; } /* ============== STICKY CTA ============== */ .sticky-cta { position: fixed; bottom: 0; left: 0; right: 0; z-index: 60; background: rgba(2,8,23,.92); backdrop-filter: blur(18px) saturate(160%); -webkit-backdrop-filter: blur(18px) saturate(160%); border-top: 1px solid rgba(249,115,22,.3); box-shadow: 0 -10px 30px -10px rgba(0,0,0,.5); transform: translateY(110%); transition: transform .35s cubic-bezier(.2,.7,.2,1); } .sticky-cta.show { transform: translateY(0); } .sticky-inner { display: flex; align-items: center; gap: 28px; padding: 14px 32px; max-width: 1400px; margin: 0 auto; } .sticky-l { display: flex; align-items: center; gap: 14px; flex: 1; } .s-pulse { width: 10px; height: 10px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px rgba(249,115,22,.18), 0 0 12px var(--orange); animation: pulse 2.2s infinite; flex: none; } .s-t { font-size: 14px; font-weight: 700; color: #fff; } .s-t b { color: var(--orange-2); } .s-s { font-size: 12px; color: var(--muted); margin-top: 2px; } .sticky-cd { display: flex; gap: 6px; } .sticky-cd .c { background: rgba(249,115,22,.08); border: 1px solid rgba(249,115,22,.25); padding: 6px 10px; border-radius: 8px; font-family: 'JetBrains Mono'; display: flex; flex-direction: column; align-items: center; min-width: 38px; } .sticky-cd .c b { font-size: 13px; font-weight: 700; color: #fff; } .sticky-cd .c span { font-size: 8.5px; color: var(--orange-2); text-transform: uppercase; } .sticky-r { display: flex; align-items: center; gap: 8px; } .sticky-close { background: transparent; border: 0; cursor: pointer; color: var(--muted); padding: 6px; } .sticky-close:hover { color: #fff; } /* ============== VIDEO / DEMO SECTION ============== */ .sec-video { padding: 100px 0; } .video-stage { position: relative; max-width: 1100px; margin: 0 auto; } .video-frame { position: relative; border-radius: 24px; overflow: hidden; border: 1px solid var(--line-3); background: var(--bg-2); box-shadow: 0 60px 120px -40px rgba(0,0,0,.6), 0 0 0 1px rgba(56,189,248,.15) inset, 0 30px 60px -30px rgba(2,132,199,.4); aspect-ratio: 16 / 9; } .video-poster, .video-el { position: absolute; inset: 0; width: 100%; height: 100%; } .video-el { display: none; background: #000; } .video-frame.playing .video-poster { display: none; } .video-frame.playing .video-el { display: block; } .video-poster image-slot { background: linear-gradient(135deg, #0c2e52 0%, #050f24 50%, #0a172e 100%) !important; width: 100% !important; height: 100% !important; display: block !important; } .video-overlay { position: absolute; inset: 0; background: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(0,0,0,0) 30%, rgba(0,0,0,.45) 90%), linear-gradient(180deg, rgba(2,8,23,.1) 0%, rgba(2,8,23,.55) 100%); pointer-events: none; } /* decorative neon HUD chips on poster */ .vh { position: absolute; z-index: 2; padding: 7px 12px; border-radius: 999px; background: rgba(2,8,23,.75); border: 1px solid rgba(56,189,248,.35); backdrop-filter: blur(10px); font-size: 11.5px; color: var(--ink-soft); font-weight: 500; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 8px 24px -8px rgba(0,0,0,.5); } .vh-d { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 10px var(--cyan); animation: pulse 1.8s infinite; } .vh-1 { top: 24px; left: 24px; color: var(--cyan-2); } .vh-2 { top: 24px; right: 24px; color: var(--orange-2); border-color: rgba(249,115,22,.4); } .vh-3 { bottom: 84px; right: 24px; } .video-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 96px; height: 96px; background: transparent; border: 0; cursor: pointer; display: grid; place-items: center; z-index: 3; } .video-play .play-ring, .video-play .play-ring.r2 { position: absolute; inset: 0; border-radius: 50%; background: rgba(249,115,22,.18); animation: ringPulse 2.4s ease-out infinite; } .video-play .play-ring.r2 { animation-delay: 1.2s; } .video-play .play-btn { position: relative; z-index: 2; width: 72px; height: 72px; border-radius: 50%; background: linear-gradient(180deg, #fb923c 0%, #f97316 60%, #ea580c 100%); display: grid; place-items: center; box-shadow: 0 14px 36px -8px rgba(249,115,22,.7), inset 0 1px 0 rgba(255,255,255,.25); padding-left: 5px; transition: transform .2s ease, box-shadow .2s ease; } .video-play:hover .play-btn { transform: scale(1.08); box-shadow: 0 18px 48px -10px rgba(249,115,22,.85), inset 0 1px 0 rgba(255,255,255,.3); } @keyframes ringPulse { 0% { opacity: 1; transform: scale(.8); } 100% { opacity: 0; transform: scale(1.6); } } .video-meta { position: absolute; bottom: 20px; left: 20px; display: flex; align-items: center; gap: 10px; z-index: 2; padding: 8px 14px; border-radius: 999px; background: rgba(2,8,23,.75); border: 1px solid var(--line-3); backdrop-filter: blur(12px); font-size: 12px; color: var(--ink-soft); } .video-meta .v-dur { font-family: 'JetBrains Mono'; color: var(--orange-2); font-weight: 700; } .video-meta .v-label { color: #fff; font-weight: 500; } .video-chips { margin-top: 20px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; } .vc { background: rgba(10,23,46,.6); border: 1px solid var(--line-2); border-radius: 12px; padding: 14px 16px; cursor: pointer; transition: border-color .2s, transform .15s, background .2s; } .vc:hover { border-color: rgba(249,115,22,.4); background: rgba(249,115,22,.06); transform: translateY(-2px); } .vc .n { display: block; font-family: 'JetBrains Mono'; font-size: 11px; font-weight: 700; color: var(--cyan-2); margin-bottom: 4px; } .vc .t { display: block; font-size: 13px; color: var(--ink-soft); font-weight: 500; line-height: 1.4; } /* Hero — add side photo behind blueprint */ .hero-photo { position: absolute; bottom: -20px; left: -10px; width: 220px; aspect-ratio: 4/5; border-radius: 16px; overflow: hidden; border: 1px solid var(--line-3); box-shadow: 0 30px 60px -20px rgba(0,0,0,.6), 0 0 0 1px rgba(56,189,248,.15) inset; z-index: 3; transform: rotate(-3deg); } .hero-photo img { width: 100%; height: 100%; object-fit: cover; display: block; } .hero-photo::after { content:""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(2,8,23,.6) 100%); } .hero-photo .tag { position: absolute; bottom: 12px; left: 12px; right: 12px; font-size: 10.5px; color: #fff; display: flex; align-items: center; gap: 6px; z-index: 2; } .hero-photo .tag .d { width: 6px; height: 6px; border-radius: 50%; background: var(--mint-2); box-shadow: 0 0 6px var(--mint-2); } /* Real review avatars (replaces gradient .av-N) */ .rev-av { width: 36px; height: 36px; border-radius: 50%; flex: none; object-fit: cover; border: 1px solid var(--line-3); } /* Video poster image */ .video-poster-img { width: 100%; height: 100%; object-fit: cover; display: block; } /* Connected section background photo */ .sec-connected { position: relative; } .connected-bg { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; opacity: .25; mask-image: radial-gradient(ellipse 800px 400px at 50% 50%, black 30%, transparent 75%); -webkit-mask-image: radial-gradient(ellipse 800px 400px at 50% 50%, black 30%, transparent 75%); } .connected-bg img { width: 100%; height: 100%; object-fit: cover; filter: blur(4px) saturate(120%); } /* Tweaks root */ #tweaks-root { position: fixed; bottom: 96px; right: 20px; z-index: 1000; } /* ============== Theme toggle button ============== */ .theme-toggle { width: 38px; height: 38px; border-radius: 10px; background: rgba(255,255,255,.04); border: 1px solid var(--line-3); color: var(--ink-soft); cursor: pointer; display: grid; place-items: center; position: relative; transition: background .2s, border-color .2s, transform .15s; } .theme-toggle:hover { background: rgba(56,189,248,.10); border-color: rgba(56,189,248,.5); color: #fff; transform: translateY(-1px); } .theme-toggle svg { position: absolute; transition: opacity .25s ease, transform .35s ease; } .theme-toggle .ti-sun { opacity: 0; transform: rotate(-90deg) scale(.6); } .theme-toggle .ti-moon { opacity: 1; transform: rotate(0) scale(1); } [data-theme="light"] .theme-toggle .ti-sun { opacity: 1; transform: rotate(0) scale(1); } [data-theme="light"] .theme-toggle .ti-moon { opacity: 0; transform: rotate(90deg) scale(.6); } /* ============== LIGHT THEME ============== */ [data-theme="light"] { --bg-0: #ffffff; --bg-1: #f8fafc; --bg-2: #ffffff; --bg-3: #f1f5f9; --line: rgba(15,23,42,.10); --line-2: rgba(15,23,42,.06); --line-3: rgba(2,132,199,.30); --ink: #0f172a; --ink-soft: #1e293b; --body: #475569; --muted: #64748b; --muted-2: #94a3b8; } [data-theme="light"] body { background: #ffffff; color: #0f172a; } [data-theme="light"] h1, [data-theme="light"] h2, [data-theme="light"] h3, [data-theme="light"] h4, [data-theme="light"] h5, [data-theme="light"] .sec-h, [data-theme="light"] .hero h1 { color: #0f172a; } /* Background ambient */ [data-theme="light"] .bg-orb.b-cyan { opacity: .35; background: radial-gradient(circle, rgba(2,132,199,.30), rgba(2,132,199,0) 70%); } [data-theme="light"] .bg-orb.b-orange { opacity: .25; background: radial-gradient(circle, rgba(249,115,22,.22), rgba(249,115,22,0) 70%); } [data-theme="light"] .bg-grid { background-image: linear-gradient(rgba(15,23,42,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(15,23,42,.04) 1px, transparent 1px); } [data-theme="light"] .bg-circuit { display: none; } /* Nav */ [data-theme="light"] .nav { background: rgba(255,255,255,.85); border-bottom-color: var(--line); } [data-theme="light"] .nav-links a { color: #334155; } [data-theme="light"] .nav-links a:hover { color: #0284c7; } /* Buttons */ [data-theme="light"] .btn-ghost { background: #ffffff; border-color: var(--line); color: #334155; box-shadow: 0 1px 2px rgba(15,23,42,.05); } [data-theme="light"] .btn-ghost:hover { background: #f8fafc; color: #0f172a; } /* Eyebrows */ [data-theme="light"] .eyebrow { background: #ffffff; border-color: var(--line); box-shadow: 0 1px 2px rgba(15,23,42,.04); } [data-theme="light"] .ltd-pill { background: #fffbeb; border-color: rgba(249,115,22,.35); } [data-theme="light"] .ltd-pill b { color: #b45309; } /* Hero trust */ [data-theme="light"] .hero-trust .t-it { color: #475569; } [data-theme="light"] .hero-trust .t-stars b { color: #0f172a; } [data-theme="light"] .hero-trust .sep { background: var(--line); } /* Stat ribbon */ [data-theme="light"] .stat-ribbon { background: #ffffff; border-color: var(--line); box-shadow: 0 1px 2px rgba(15,23,42,.04), 0 20px 40px -20px rgba(15,23,42,.10); } [data-theme="light"] .stat-it .t { color: #0f172a; } [data-theme="light"] .stat-it .s { color: #64748b; } [data-theme="light"] .stat-it { border-right-color: var(--line); } /* Logos band */ [data-theme="light"] .logos-inner { border-top-color: var(--line); border-bottom-color: var(--line); } [data-theme="light"] .logos-l { color: #64748b; } [data-theme="light"] .logos-l b { color: #0f172a; } [data-theme="light"] .logos-row span { color: #94a3b8; } /* Theme toggle button itself */ [data-theme="light"] .theme-toggle { background: #ffffff; border-color: var(--line); color: #334155; box-shadow: 0 1px 2px rgba(15,23,42,.05); } [data-theme="light"] .theme-toggle:hover { background: #f8fafc; color: #0f172a; border-color: rgba(2,132,199,.4); } /* Dashboard window */ [data-theme="light"] .dash-window { background: radial-gradient(ellipse 600px 400px at 80% 100%, rgba(167,139,250,.10), transparent 70%), radial-gradient(ellipse 500px 350px at 0% 0%, rgba(56,189,248,.08), transparent 70%), linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); border-color: var(--line); box-shadow: 0 50px 100px -40px rgba(15,23,42,.18), 0 30px 60px -30px rgba(2,132,199,.15); } [data-theme="light"] .dw-bar { background: #f8fafc; border-bottom-color: var(--line); } [data-theme="light"] .dw-url { background: #ffffff; border-color: var(--line); color: #475569; } [data-theme="light"] .dw-kpi { background: #f8fafc; border-color: var(--line); } [data-theme="light"] .dw-kpi:hover { background: #ffffff; border-color: rgba(2,132,199,.35); } [data-theme="light"] .dw-kpi-l { color: #64748b; } [data-theme="light"] .dw-chart, [data-theme="light"] .dw-act-item { background: #f8fafc; border-color: var(--line); } [data-theme="light"] .dw-act-item:hover { background: #ffffff; border-color: rgba(2,132,199,.35); } [data-theme="light"] .dw-act-t { color: #0f172a; } [data-theme="light"] .dw-chart-h h4 { color: #0f172a; } [data-theme="light"] .dw-chart-svg g[stroke="#1e293b"] { stroke: #e2e8f0 !important; } /* Dashboard window — tabs + screenshot stage on light theme */ [data-theme="light"] .dw-tab { background: #f1f5f9; border-color: var(--line); color: #475569; } [data-theme="light"] .dw-tab:hover { background: #ffffff; color: #0f172a; border-color: rgba(2,132,199,.35); } [data-theme="light"] .dw-tab.is-active { color: #0f172a; background: linear-gradient(180deg, rgba(56,189,248,.22), rgba(56,189,248,.08)); border-color: rgba(2,132,199,.45); box-shadow: inset 0 0 0 1px rgba(56,189,248,.18), 0 8px 22px -10px rgba(2,132,199,.35); } [data-theme="light"] .dw-tab svg { color: #0284c7; } [data-theme="light"] .dw-tab.is-active svg { color: #0369a1; } [data-theme="light"] .dw-stage { background: radial-gradient(ellipse 600px 280px at 50% 0%, rgba(56,189,248,.10), transparent 70%), #0a172e; border-color: rgba(15,23,42,.10); box-shadow: 0 30px 60px -25px rgba(15,23,42,.22), 0 0 0 1px rgba(15,23,42,.05) inset, 0 0 80px -30px rgba(2,132,199,.22); } [data-theme="light"] .dw-corner { opacity: .8; } /* Mobile companion — screenshot variant on light theme */ [data-theme="light"] .mc-img-wrap.mc-img-shot { background: radial-gradient(ellipse 380px 200px at 50% 0%, rgba(56,189,248,.12), transparent 70%), #0a172e; border-color: rgba(15,23,42,.12); box-shadow: 0 30px 60px -25px rgba(15,23,42,.2), 0 0 80px -30px rgba(2,132,199,.22); } [data-theme="light"] .mc-img-wrap.mc-img-shot::after { background: linear-gradient(180deg, transparent 62%, rgba(2,8,23,.55) 100%), linear-gradient(45deg, rgba(56,189,248,.08), transparent 60%); } /* Generic dark cards → white */ [data-theme="light"] .sys-card, [data-theme="light"] .conn-feat, [data-theme="light"] .ben-it, [data-theme="light"] .rev, [data-theme="light"] .perf-row, [data-theme="light"] .vc, [data-theme="light"] .meas-pill, [data-theme="light"] .foot-cert span, [data-theme="light"] .cal-int .int { background: #ffffff; border-color: var(--line); box-shadow: 0 1px 2px rgba(15,23,42,.04), 0 8px 24px -12px rgba(15,23,42,.08); } [data-theme="light"] .sys-card h3, [data-theme="light"] .cal-pt h4, [data-theme="light"] .conn-feat h4, [data-theme="light"] .ben-it h4, [data-theme="light"] .perf-v, [data-theme="light"] .rev .who, [data-theme="light"] .meas-pill b { color: #0f172a; } [data-theme="light"] .sys-card p, [data-theme="light"] .cal-pt p, [data-theme="light"] .conn-feat p, [data-theme="light"] .ben-it p, [data-theme="light"] .rev p, [data-theme="light"] .perf-l, [data-theme="light"] .meas-pill span { color: #475569; } [data-theme="light"] .perf-it { border-right-color: var(--line); } /* Mobile companion */ [data-theme="light"] .mobile-companion { background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); border-color: var(--line); } [data-theme="light"] .mc-l h3 { color: #0f172a; } [data-theme="light"] .mc-l p { color: #475569; } [data-theme="light"] .mc-feats li { color: #334155; } /* Calendar window */ [data-theme="light"] .cal-window { background: #ffffff; border-color: var(--line); box-shadow: 0 40px 80px -30px rgba(15,23,42,.18); } [data-theme="light"] .cal-w-head { background: #f8fafc; border-bottom-color: var(--line); } [data-theme="light"] .cal-w-l, [data-theme="light"] .cal-w-c { color: #0f172a; } [data-theme="light"] .cal-w-r .seg { background: #ffffff; border-color: var(--line); color: #334155; } [data-theme="light"] .navb { background: #ffffff; border-color: var(--line); color: #334155; } [data-theme="light"] .cal-w-days { background: #f8fafc; border-bottom-color: var(--line); } [data-theme="light"] .cal-w-days > div { color: #64748b; border-left-color: var(--line); } [data-theme="light"] .cal-w-days > div b { color: #0f172a; } [data-theme="light"] .cal-w-body { background-image: linear-gradient(rgba(15,23,42,.06) 1px, transparent 1px); } [data-theme="light"] .cal-w-col { border-left-color: var(--line); } [data-theme="light"] .ai-pop { background: rgba(255,255,255,.98); border-color: rgba(2,132,199,.3); box-shadow: 0 20px 60px -10px rgba(15,23,42,.2); } [data-theme="light"] .ai-pop p { color: #1e293b; } [data-theme="light"] .ai-pop p b { color: #0f172a; } [data-theme="light"] .ai-btn { background: #ffffff; border-color: var(--line); color: #334155; } /* Measurements section */ [data-theme="light"] .meas-art { background: #ffffff; border-color: var(--line); box-shadow: 0 30px 60px -30px rgba(15,23,42,.15); } /* Pricing */ [data-theme="light"] .p-card { background: #ffffff; border-color: var(--line); box-shadow: 0 8px 24px -12px rgba(15,23,42,.10); } [data-theme="light"] .p-name { color: #0f172a; } [data-theme="light"] .p-desc { color: #475569; } [data-theme="light"] .p-price .amt { color: #0f172a; } [data-theme="light"] .p-feats li { color: #334155; } [data-theme="light"] .p-feats li b { color: #0f172a; } [data-theme="light"] .p-trust .t-it { color: #475569; } /* Final CTA */ [data-theme="light"] .final-card { background: radial-gradient(ellipse 600px 360px at 90% 90%, rgba(249,115,22,.12), transparent 60%), radial-gradient(ellipse 800px 460px at 0% 0%, rgba(56,189,248,.10), transparent 60%), linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); border-color: var(--line-3); box-shadow: 0 40px 80px -30px rgba(15,23,42,.18); } [data-theme="light"] .countdown { background: #ffffff; border-color: rgba(249,115,22,.3); } [data-theme="light"] .cd-cell { background: #fffbeb; } [data-theme="light"] .cd-cell .n { color: #0f172a; } [data-theme="light"] .cd-foot { color: #475569; } /* Footer */ [data-theme="light"] .footer { background: #f8fafc; border-top-color: var(--line); } [data-theme="light"] .foot-top { border-bottom-color: var(--line); } [data-theme="light"] .foot-cols a { color: #475569; } [data-theme="light"] .foot-cols a:hover { color: #0284c7; } [data-theme="light"] .foot-cols h5 { color: #0f172a; } [data-theme="light"] .foot-brand p { color: #475569; } [data-theme="light"] .foot-bot .tagline { color: #0f172a; } [data-theme="light"] .foot-cert span { color: #334155; } /* Sticky CTA */ [data-theme="light"] .sticky-cta { background: rgba(255,255,255,.95); border-top-color: rgba(249,115,22,.3); box-shadow: 0 -10px 30px -10px rgba(15,23,42,.15); } [data-theme="light"] .s-t { color: #0f172a; } [data-theme="light"] .sticky-cd .c { background: #fffbeb; } [data-theme="light"] .sticky-cd .c b { color: #0f172a; } [data-theme="light"] .sticky-close { color: #94a3b8; } [data-theme="light"] .sticky-close:hover { color: #0f172a; } /* Video / field */ [data-theme="light"] .video-frame { background: #f8fafc; border-color: var(--line); box-shadow: 0 50px 100px -40px rgba(15,23,42,.18); } [data-theme="light"] .vc .t { color: #334155; } [data-theme="light"] .field-card { background: #f8fafc; border-color: var(--line); box-shadow: 0 8px 24px -12px rgba(15,23,42,.10); } /* Bento (old/unused but kept) */ [data-theme="light"] .bento-card { background: #ffffff; border-color: var(--line); box-shadow: 0 8px 24px -12px rgba(15,23,42,.10); } /* ============== BUILT FOR THE FIELD ============== */ .sec-field { padding: 100px 0; } .field-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr; grid-template-rows: 240px 240px; gap: 18px; max-width: 1180px; margin: 0 auto; } .field-card { position: relative; overflow: hidden; border-radius: 20px; border: 1px solid var(--line); text-decoration: none; display: block; box-shadow: 0 30px 60px -30px rgba(0,0,0,.55), 0 0 0 1px rgba(56,189,248,.08) inset; transition: transform .25s ease, border-color .25s, box-shadow .25s; background: var(--bg-2); } .field-card:hover { transform: translateY(-3px); border-color: rgba(56,189,248,.4); box-shadow: 0 40px 80px -30px rgba(2,132,199,.4), 0 0 0 1px rgba(56,189,248,.2) inset; } .field-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2,.7,.2,1); } .field-card:hover img { transform: scale(1.05); } .field-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(2,8,23,0) 30%, rgba(2,8,23,.4) 65%, rgba(2,8,23,.92) 100%); pointer-events: none; } .field-meta { position: absolute; left: 22px; right: 22px; bottom: 22px; z-index: 2; } .field-meta h3 { font-size: 19px; font-weight: 700; color: #fff; margin: 0 0 4px; letter-spacing: -.015em; text-shadow: 0 1px 2px rgba(0,0,0,.5); } .field-meta p { font-size: 12.5px; color: var(--ink-soft); margin: 0; line-height: 1.5; text-shadow: 0 1px 2px rgba(0,0,0,.4); } .field-tag { display: inline-flex; align-items: center; padding: 5px 12px; border-radius: 999px; background: rgba(2,8,23,.65); border: 1px solid rgba(56,189,248,.5); color: var(--cyan-2); font-size: 11px; font-weight: 600; backdrop-filter: blur(8px); margin-bottom: 12px; } .field-hero { grid-column: 1; grid-row: 1 / 3; } .field-hero .field-meta h3 { font-size: 24px; } .field-hero .field-meta p { font-size: 13.5px; } /* ========================================================== RESPONSIVE SYSTEM — mobile-first overrides ---------------------------------------------------------- Breakpoints: • base (≤767px) : mobile-first defaults below • md (≥768px) : tablet • lg (≥1024px) : laptop • xl (≥1280px) : large desktop (current design width) ========================================================== */ /* -------- Hamburger nav-toggle button (hidden on desktop) -------- */ .nav-toggle { display: none; width: 42px; height: 42px; border-radius: 10px; background: rgba(255,255,255,.04); border: 1px solid var(--line-3); color: var(--ink-soft); cursor: pointer; padding: 0; align-items: center; justify-content: center; flex-direction: column; gap: 4px; transition: background .2s, border-color .2s; } .nav-toggle:hover { background: rgba(56,189,248,.10); border-color: rgba(56,189,248,.5); } .nav-toggle span { display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; transition: transform .25s ease, opacity .25s ease; } .nav-toggle.is-open span:nth-child(1) { transform: translateY(6px) rotate(45deg); } .nav-toggle.is-open span:nth-child(2) { opacity: 0; } .nav-toggle.is-open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); } /* Mobile slide-out menu backdrop */ .nav-overlay { display: none; position: fixed; inset: 0; background: rgba(2,8,23,.55); backdrop-filter: blur(4px); z-index: 49; opacity: 0; pointer-events: none; transition: opacity .25s ease; } .nav-overlay.is-open { opacity: 1; pointer-events: auto; } .nav-mobile-cta { display: none !important; } body.nav-locked { overflow: hidden; } /* ========================================================== BASE / MOBILE (< 768px) ========================================================== */ /* Wrap padding shrinks on phones to remove horizontal cramp */ .wrap { padding: 0 16px; } /* ----- NAV ----- */ .nav-inner { height: 64px; gap: 8px; } .brand-img { height: 26px; } .nav-links { display: none; } /* hide horizontal links on mobile */ .nav-cta { gap: 8px; } .nav-desktop-cta { display: none; } /* hide desktop CTAs on mobile */ .nav-toggle { display: inline-flex; } /* show hamburger */ .nav-overlay { display: block; } /* Slide-out menu panel (mobile) */ .nav-links.is-open { display: flex; flex-direction: column; gap: 4px; position: fixed; top: 64px; right: 0; width: min(86vw, 340px); height: calc(100dvh - 64px); padding: 22px 22px 28px; background: rgba(5,15,36,.98); backdrop-filter: blur(20px) saturate(160%); border-left: 1px solid var(--line-3); box-shadow: -20px 0 60px -10px rgba(0,0,0,.6); z-index: 50; overflow-y: auto; -webkit-overflow-scrolling: touch; animation: navSlideIn .25s ease; } .nav-links.is-open a { padding: 14px 4px; font-size: 16px; border-bottom: 1px solid var(--line-2); width: 100%; } .nav-links.is-open a:last-of-type { border-bottom: 0; } .nav-links.is-open .nav-mobile-cta { display: inline-flex !important; border-bottom: 0; margin-top: 8px; justify-content: center; } @keyframes navSlideIn { from { transform: translateX(20px); opacity: 0; } to { transform: translateX(0); opacity: 1; } } /* Touch-friendly hit-area for nav and buttons */ [data-theme="light"] .nav-links.is-open { background: rgba(255,255,255,.98); } /* ----- BUTTONS — keep tap targets >= 44px ----- */ .btn { min-height: 44px; padding: 12px 18px; font-size: 14.5px; } .btn-lg { padding: 13px 20px; } .btn-xl { padding: 16px 22px; font-size: 15px; } /* ----- HERO ----- */ .hero { padding: 32px 0 56px; } .hero-inner { gap: 36px; } .hero-ctas { width: 100%; } .hero-ctas .btn { width: 100%; } .hero-trust { gap: 10px 14px; font-size: 12px; } .hero-trust .sep { display: none; } .ltd-pill { font-size: 11.5px; padding: 6px 6px 6px 10px; flex-wrap: wrap; justify-content: center; gap: 6px; } .ltd-pill .badge { font-size: 10px; padding: 3px 7px; } /* Hero artwork — wider aspect for landscape banner on small screens */ .hero-art { aspect-ratio: 16 / 11; border-radius: 16px; } .hero-model-img { border-radius: 16px !important; } .hero-model-overlay { border-radius: 16px; } .hero-model-overlay .corner { width: 22px; height: 22px; } .hero-model-overlay .corner.tl, .hero-model-overlay .corner.tr, .hero-model-overlay .corner.bl, .hero-model-overlay .corner.br { top: auto; bottom: auto; } .hero-model-overlay .corner.tl { top: 10px; left: 10px; } .hero-model-overlay .corner.tr { top: 10px; right: 10px; } .hero-model-overlay .corner.bl { bottom: 10px; left: 10px; } .hero-model-overlay .corner.br { bottom: 10px; right: 10px; } /* Floating chips become tiny on mobile */ .art-chip { padding: 7px 10px; gap: 7px; font-size: 10px; border-radius: 9px; } .art-chip .l { font-size: 9px; } .art-chip .v { font-size: 11px; } .art-chip-tl { top: 10px; left: 10px; } .art-chip-tr { top: 10px; right: 10px; } .art-chip-br { bottom: 10px; right: 10px; } .art-chip svg { width: 12px; height: 12px; flex: none; } /* Stat ribbon — 2 cols on mobile, full grid on desktop */ .stat-ribbon { grid-template-columns: 1fr 1fr; gap: 0; margin-top: 36px; border-radius: 14px; } .stat-it { padding: 14px 12px; gap: 10px; border-right: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); } .stat-it:nth-child(2n) { border-right: 0; } .stat-it:nth-last-child(-n+2) { border-bottom: 0; } .stat-it:last-child { border-right: 0; } .stat-it .ic { width: 34px; height: 34px; border-radius: 8px; } .stat-it .ic svg { width: 16px; height: 16px; } .stat-it .t { font-size: 12.5px; } .stat-it .s { font-size: 11px; } /* ----- LOGOS BAND ----- */ .logos-inner { flex-direction: column; align-items: center; gap: 14px; padding: 22px 0; } .logos-l { white-space: normal; font-size: 11px; text-align: center; width: 100%; } .logos-row { gap: 18px 22px; justify-content: center; width: 100%; flex-wrap: wrap; } .logos-row span { font-size: 13px; white-space: nowrap; } .logos-row .lg-3 { font-size: 11px; letter-spacing: .2em; } /* ----- PLATFORM / DASHBOARD ----- */ .sec-platform { padding: 72px 0 60px; } .sec-head { margin-bottom: 40px; } .dash-window { border-radius: 14px; } .dw-bar { grid-template-columns: auto 1fr; padding: 10px 12px; gap: 10px; } .dw-spacer { display: none; } .dw-dots i { width: 9px; height: 9px; } .dw-url { font-size: 11px; padding: 6px 10px; max-width: 100%; } .dw-body { padding: 18px 14px 18px; } .dw-kpis { grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px; } .dw-kpi { padding: 14px 10px; border-radius: 12px; } .dw-kpi-l { font-size: 9.5px; margin-bottom: 8px; letter-spacing: .08em; } .dw-kpi-v { font-size: 24px; margin-bottom: 6px; } .dw-kpi-d { font-size: 11px; } .dw-split { grid-template-columns: 1fr; gap: 12px; } .dw-chart { min-height: 0; padding: 16px 14px; } .dw-chart-svg { min-height: 140px; } .dw-chart-h h4 { font-size: 13px; } .dw-chart-x { font-size: 10px; } .dw-act-item { padding: 12px 14px; } .dw-act-t, .dw-act-v { font-size: 13px; } /* Tabs + stage on mobile */ .dw-tabs { gap: 6px; padding: 14px 14px 0; } .dw-tab { padding: 8px 12px; font-size: 11.5px; gap: 6px; } .dw-tab svg { width: 12px; height: 12px; } .dw-stage { margin: 14px 14px 14px; border-radius: 12px; } .dw-corner { width: 14px; height: 14px; } /* ----- Mobile companion section ----- */ .mobile-companion { margin-top: 56px; grid-template-columns: 1fr; gap: 32px; padding: 32px 22px; border-radius: 18px; text-align: center; } .mobile-companion::before { display: none; } .mc-l { order: 1; } .phone-shell { order: 2; margin: 0 auto; width: min(240px, 76vw); } .mc-img-wrap { order: 3; aspect-ratio: 4/3; max-width: 460px; margin: 0 auto; width: 100%; } .mc-l h3 { font-size: 22px; } .mc-l p { font-size: 14px; max-width: none; } .mc-feats li { font-size: 13.5px; justify-content: center; text-align: left; } /* ----- VIDEO SECTION ----- */ .sec-video { padding: 60px 0 56px; } .video-frame { border-radius: 16px; } .video-play { width: 70px; height: 70px; } .video-play .play-btn { width: 56px; height: 56px; } .video-play .play-btn svg { width: 20px; height: 20px; } .video-meta { bottom: 12px; left: 12px; padding: 6px 10px; font-size: 11px; } .vh { font-size: 10px; padding: 5px 9px; } .vh-1 { top: 12px; left: 12px; } .vh-2 { top: 12px; right: 12px; } .vh-3 { bottom: 56px; right: 12px; } .video-chips { grid-template-columns: 1fr; gap: 8px; margin-top: 14px; } .vc { padding: 12px 14px; } .vc .t { font-size: 12.5px; } /* ----- SYSTEMS GRID ----- */ .sec-systems { padding: 60px 0; } .sys-grid { grid-template-columns: 1fr; gap: 14px; } .sys-card { padding: 24px 22px; border-radius: 16px; } .sys-ic { width: 48px; height: 48px; margin-bottom: 18px; border-radius: 12px; } .sys-card h3 { font-size: 17px; } .sys-card p { font-size: 13px; } .sys-num { top: 22px; right: 24px; font-size: 11px; } /* ----- CALENDAR ----- */ .sec-calendar { padding: 56px 0; } .cal-row { grid-template-columns: 1fr; gap: 36px; } .cal-points { gap: 18px; margin-top: 22px; } .cal-pt-ic { width: 38px; height: 38px; border-radius: 10px; } .cal-pt h4 { font-size: 14.5px; } .cal-pt p { font-size: 12.5px; } /* Calendar widget — make it scroll horizontally on small screens so the 7-day grid never breaks the layout */ .cal-stage { width: 100%; } .cal-window { border-radius: 14px; } .cal-w-head { grid-template-columns: 1fr auto; padding: 12px 12px; } .cal-w-l { font-size: 12px; } .cal-w-l svg { width: 14px; height: 14px; } .cal-w-c { grid-column: 1 / -1; order: 3; font-size: 12px; gap: 6px; } .cal-w-r { gap: 6px; } .cal-w-r .seg { padding: 4px 9px; font-size: 11px; } /* The grid itself is allowed to scroll horizontally on phones */ .cal-w-days, .cal-w-body { grid-template-columns: 44px repeat(7, minmax(60px, 1fr)); min-width: 520px; } .cal-stage { overflow-x: auto; -webkit-overflow-scrolling: touch; } .cal-w-days > div { padding: 8px 4px; font-size: 9.5px; } .cal-w-days > div b { font-size: 14px; } .cal-w-time span { font-size: 9px; padding-right: 4px; } .cal-e { padding: 4px 6px; font-size: 9.5px; } .cal-e .t { font-size: 10px; } .cal-e .s { font-size: 9px; } /* AI popover — anchored bottom on mobile */ .ai-pop { position: static; width: auto; margin: 14px 12px 12px; border-radius: 12px; padding: 14px; } .ai-pop::before { display: none; } .ai-pop p { font-size: 12.5px; } .cal-int { margin-top: 16px; gap: 8px; } .cal-int .int { padding: 7px 12px; font-size: 12px; } /* ----- MEASUREMENTS ----- */ .sec-measure { padding: 60px 0; } .meas-stage { grid-template-columns: 1fr; gap: 28px; padding: 14px 0; text-align: center; } .meas-art { padding: 0; border-radius: 16px; } /* .meas-svg { max-height: 520px; } */ .meas-pill { position: static; max-width: none; margin: 12px; justify-content: flex-start; } .meas-pill-tl, .meas-pill-bl { position: static; } .meas-phone { margin: 0 auto; } .meas-phone .phone-shell { width: min(240px, 76vw); } /* Performance row — 2 cols on small, 5 on desktop */ .perf-row { grid-template-columns: 1fr 1fr; gap: 0; margin-top: 36px; border-radius: 16px; } .perf-it { padding: 18px 12px; border-right: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); } .perf-it:nth-child(2n) { border-right: 0; } .perf-it:last-child { grid-column: 1 / -1; border-right: 0; border-bottom: 0; } .perf-it:nth-last-child(2):nth-child(odd) { border-bottom: 0; } .perf-ic { width: 40px; height: 40px; margin-bottom: 10px; border-radius: 10px; } .perf-ic svg { width: 18px; height: 18px; } .perf-v { font-size: 14.5px; } .perf-l { font-size: 11px; } /* ----- CONNECTED ----- */ .sec-connected { padding: 60px 0; } .connected-stage { grid-template-columns: 1fr; gap: 22px; } .conn-side.right { padding-left: 0; } .conn-feat { padding: 14px 16px; border-radius: 12px; } .conn-feat:hover, .conn-side.right .conn-feat:hover { transform: none; } .conn-center { order: -1; max-width: 360px; margin: 0 auto; } .benefit-row { grid-template-columns: 1fr; gap: 10px; margin-top: 36px; } .ben-it { padding: 18px 20px; border-radius: 14px; } /* ----- PRICING ----- */ .sec-pricing { padding: 60px 0; } .pricing-grid { grid-template-columns: 1fr; gap: 16px; } .p-card { padding: 26px 22px; border-radius: 18px; } .p-ltd { padding: 30px 22px; margin: 6px 0; /* remove negative margins on mobile to keep ribbon visible */ } .p-ribbon { font-size: 11px; padding: 7px 14px; } .p-desc { min-height: 0; } .p-price .amt { font-size: 34px; } .p-trust { gap: 14px; flex-direction: column; align-items: center; margin-top: 28px; } .p-feats li { font-size: 13px; } /* ----- FIELD ----- */ .sec-field { padding: 60px 0; } .field-grid { grid-template-columns: 1fr; grid-template-rows: auto; gap: 14px; } .field-card { min-height: 220px; border-radius: 16px; } .field-hero { grid-column: 1; grid-row: auto; min-height: 260px; } .field-meta { left: 16px; right: 16px; bottom: 16px; } .field-meta h3 { font-size: 17px; } .field-hero .field-meta h3 { font-size: 20px; } /* ----- REVIEWS ----- */ .sec-reviews { padding: 60px 0 56px; } .reviews-grid { columns: 1; column-gap: 0; } .rev { padding: 20px; border-radius: 14px; margin-bottom: 14px; } .rev p { font-size: 13px; } .rev-feat p { font-size: 14px; } /* ----- FINAL CTA ----- */ .sec-final { padding: 50px 0 40px; } .final-card { grid-template-columns: 1fr; padding: 36px 22px; gap: 28px; border-radius: 20px; } .cd-grid { gap: 6px; } .cd-cell { padding: 12px 4px; border-radius: 10px; } .cd-cell .n { font-size: 20px; } .cd-cell .l { font-size: 9px; } .countdown { padding: 18px; } /* ----- FOOTER ----- */ .footer { padding: 48px 0 24px; } .foot-top { grid-template-columns: 1fr; gap: 32px; padding-bottom: 32px; } .foot-cols { grid-template-columns: 1fr 1fr; gap: 24px 18px; } .foot-bot { flex-direction: column; gap: 12px; text-align: center; } .foot-brand p { max-width: none; } /* ----- STICKY CTA ----- */ .sticky-inner { flex-direction: column; align-items: stretch; padding: 10px 14px; gap: 10px; } .sticky-l { gap: 10px; } .s-t { font-size: 12.5px; } .s-s { font-size: 11px; } .sticky-cd { justify-content: center; } .sticky-cd .c { padding: 5px 9px; min-width: 34px; } .sticky-r { justify-content: space-between; } .sticky-r .btn { flex: 1; } /* Increase body bottom padding for taller mobile sticky CTA */ body { padding-bottom: 120px; } /* Section heading top margin */ .eyebrow { font-size: 11px; padding: 5px 12px 5px 9px; } /* SVG / image safeguards */ img, video, svg { max-width: 100%; height: auto; } image-slot { max-width: 100%; } /* ========================================================== TABLET (≥ 768px) ========================================================== */ @media (min-width: 768px) { .wrap { padding: 0 24px; } /* Hero */ .hero { padding: 48px 0 70px; } .hero-ctas .btn { width: auto; } /* Stat ribbon — 4 cols starting at tablet */ .stat-ribbon { grid-template-columns: repeat(4, 1fr); margin-top: 48px; } .stat-it { padding: 16px 18px; border-bottom: 0; border-right: 1px solid var(--line-2); } .stat-it:last-child { border-right: 0; } .stat-it:nth-child(2n) { border-right: 1px solid var(--line-2); } /* Logos band returns to row */ .logos-inner { flex-direction: row; gap: 24px; padding: 24px 0; flex-wrap: wrap; } .logos-l { text-align: center; white-space: nowrap; font-size: 12px; } .logos-row { justify-content: center; gap: 12px 22px; flex-wrap: wrap; } .logos-row span { font-size: 14px; } /* Dashboard */ .sec-platform { padding: 90px 0 80px; } .dw-body { padding: 22px 22px 24px; } .dw-kpis { grid-template-columns: repeat(4, 1fr); } .dw-kpi-v { font-size: 30px; } .dw-split { grid-template-columns: 1fr; gap: 14px; } .dw-tabs { padding: 18px 22px 0; gap: 8px; } .dw-tab { padding: 9px 14px; font-size: 12.5px; } .dw-tab svg { width: 14px; height: 14px; } .dw-stage { margin: 18px 22px 22px; border-radius: 14px; } .dw-corner { width: 16px; height: 16px; } /* Mobile companion — 2 col layout (copy left, phone right) */ .mobile-companion { grid-template-columns: 1fr 240px; text-align: left; padding: 40px 36px; gap: 36px; } .mc-img-wrap { grid-column: 1 / -1; aspect-ratio: 21/9; max-width: none; } .mc-feats li { justify-content: flex-start; } /* Video chips — 2 cols */ .video-chips { grid-template-columns: 1fr 1fr; gap: 10px; } /* Systems — 2 cols */ .sys-grid { grid-template-columns: 1fr 1fr; } /* Calendar — keep stacked but calendar widget fits naturally */ .cal-w-days, .cal-w-body { grid-template-columns: 60px repeat(7, 1fr); min-width: 0; } .cal-stage { overflow: visible; } .cal-w-head { grid-template-columns: auto 1fr auto; } .cal-w-c { grid-column: auto; order: 0; } .ai-pop { position: absolute; top: 152px; left: 38%; width: 320px; margin: 0; } .ai-pop::before { display: block; } /* Measurements */ .meas-stage { grid-template-columns: 1.4fr 280px; gap: 40px; padding: 30px 18px; text-align: left; } .meas-pill { position: absolute; max-width: 240px; margin: 0; } .meas-pill-tl { top: 24px; left: 24px; } .meas-pill-bl { bottom: 24px; left: 24px; } /* Perf row — 3 cols */ .perf-row { grid-template-columns: repeat(3, 1fr); } .perf-it { border-bottom: 1px solid var(--line-2); } .perf-it:nth-last-child(-n+2) { border-bottom: 1px solid var(--line-2); } .perf-it:last-child { grid-column: auto; border-bottom: 0; } .perf-it:nth-child(3n) { border-right: 0; } .perf-it:nth-last-child(2):nth-child(odd) { border-bottom: 1px solid var(--line-2); } /* Connected — 2 col with center first */ .connected-stage { grid-template-columns: 1fr 1fr; gap: 28px; } .conn-center { grid-column: 1 / -1; order: 0; max-width: 460px; } .benefit-row { grid-template-columns: repeat(3, 1fr); gap: 14px; } /* Pricing — 2 cols, LTD spans both */ .pricing-grid { grid-template-columns: 1fr 1fr; gap: 16px; } .p-ltd { grid-column: 1 / -1; margin: 0; } /* Field — 2x2 + hero */ .field-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 220px 220px 220px; } .field-hero { grid-column: 1 / -1; grid-row: 1; min-height: 0; } /* Reviews — 2 cols */ .reviews-grid { columns: 2; column-gap: 16px; } /* Final CTA */ .final-card { padding: 50px 40px; } /* Footer */ .foot-top { grid-template-columns: 1fr 2fr; gap: 40px; } .foot-cols { grid-template-columns: repeat(4, 1fr); gap: 24px; } .foot-bot { flex-direction: row; text-align: left; } /* Sticky CTA — back to row */ .sticky-inner { flex-direction: row; padding: 12px 22px; gap: 18px; } .sticky-r { justify-content: flex-end; } .sticky-r .btn { flex: none; } body { padding-bottom: 96px; } /* Nav */ .nav-inner { height: 70px; } .brand-img { height: 28px; } } /* ========================================================== LAPTOP (≥ 1024px) ========================================================== */ @media (min-width: 1024px) { /* Reveal desktop nav, hide hamburger */ .nav-links { display: flex; gap: 24px; position: static; width: auto; height: auto; padding: 0; background: transparent; box-shadow: none; border: 0; overflow: visible; flex-direction: row; animation: none; } .nav-links a { padding: 0; font-size: 14px; border-bottom: 0; width: auto; } .nav-mobile-cta { display: none !important; } .nav-desktop-cta { display: inline-flex; } .nav-toggle { display: none; } .nav-overlay { display: none; } body.nav-locked { overflow: auto; } .nav-inner { height: 76px; gap: 16px; } /* Hero — return to centered hero with side art */ .hero { padding: 56px 0 76px; } .hero-inner { gap: 48px; } .hero-trust { gap: 18px; font-size: 13px; } .hero-trust .sep { display: block; } /* Dashboard split — back to chart + activity side-by-side */ .dw-split { grid-template-columns: 1.6fr 1fr; gap: 16px; } .dw-bar { grid-template-columns: 80px 1fr 80px; padding: 14px 18px; } .dw-spacer { display: block; } .dw-body { padding: 28px 28px 30px; } .dw-kpi-v { font-size: 32px; } /* Mobile companion — 3 col layout (copy / phone / photo) */ .mobile-companion { grid-template-columns: 1fr 260px 1fr; padding: 48px 48px; gap: 48px; text-align: left; } .mc-img-wrap { grid-column: auto; aspect-ratio: 4/5; max-width: none; } /* Video chips */ .video-chips { grid-template-columns: repeat(4, 1fr); } /* Systems — 3 cols */ .sys-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; } /* Calendar — 2 col */ .cal-row { grid-template-columns: 0.85fr 1.15fr; gap: 48px; } /* Measurements */ .meas-stage { padding: 40px 20px; gap: 50px; } /* Perf row — 5 cols */ .perf-row { grid-template-columns: repeat(5, 1fr); } .perf-it { border-bottom: 0; border-right: 1px solid var(--line-2); } .perf-it:last-child { border-right: 0; } .perf-it:nth-child(n) { border-right: 1px solid var(--line-2); border-bottom: 0; } .perf-it:last-child { border-right: 0; } /* Connected — 3 col with center */ .connected-stage { grid-template-columns: 1fr 420px 1fr; gap: 32px; } .conn-center { grid-column: auto; order: 0; max-width: none; } .conn-side.right { padding-left: 16px; } /* Pricing — 3 cols */ .pricing-grid { grid-template-columns: 1fr 1fr 1.15fr; } .p-ltd { grid-column: auto; margin: -8px 0; } .p-trust { flex-direction: row; gap: 24px; } /* Field — desktop bento */ .field-grid { grid-template-columns: 1.6fr 1fr 1fr; grid-template-rows: 240px 240px; gap: 18px; } .field-hero { grid-column: 1; grid-row: 1 / 3; } /* Reviews — 3 cols */ .reviews-grid { columns: 3; column-gap: 18px; } /* Final CTA — 2 col */ .final-card { grid-template-columns: 1.4fr 1fr; padding: 60px 52px; gap: 44px; } /* Footer */ .foot-top { grid-template-columns: 1.2fr 3fr; gap: 50px; } } /* ========================================================== LARGE DESKTOP (≥ 1280px) — original design width ========================================================== */ @media (min-width: 1280px) { .wrap { padding: 0 32px; } .hero { padding: 60px 0 80px; } .hero-inner { gap: 64px; } .sec-platform { padding: 130px 0 100px; } .sec-systems, .sec-calendar, .sec-measure, .sec-connected, .sec-pricing, .sec-field { padding: 100px 0; } .sec-reviews { padding: 100px 0 80px; } .dw-body { padding: 30px 32px 32px; } .mobile-companion { padding: 56px 56px; gap: 60px; } .final-card { padding: 70px 64px; gap: 50px; } .footer { padding: 70px 0 30px; } .sec-head { margin-bottom: 60px; } .cal-row { gap: 60px; } .meas-stage { gap: 60px; padding: 40px 20px; } } /* ========================================================== REDUCED MOTION — respect user preference ========================================================== */ @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } .scan-line, .pulse, .s-pulse { animation: none !important; } .hmo-dims .dim { animation: none !important; opacity: 1 !important; transform: none !important; } }