forked from Goutam/lynkeduppro-crm
a459fefb7f
Copies the goutam-pages landing (React marketing home + /page/1..19 + assets) into /public and adds beforeFiles rewrites so '/' serves the marketing home and '/1'..'/19' + '/thanks' serve the static pages — reproducing the landing's vercel.json clean URLs. /portal/* (login/register) is untouched.
3237 lines
110 KiB
CSS
3237 lines
110 KiB
CSS
/* ==========================================================
|
|
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; }
|
|
}
|