Files
lynkeduppro-crm/public/page/lp-v3.css
tanweer919 a459fefb7f feat(landing): port the full marketing site into the CRM (static)
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.
2026-07-18 00:06:53 +05:30

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; }
}