
Dock (dock.io) is built on Webflow โ a no-code visual CMS platform. Assets are served from cdn.prod.website-files.com, confirming the Webflow hosting pipeline. No React, Vue, or Next.js signals are present in the public-facing marketing site. Analytics via Google Tag Manager (GTM-K885M4M). The logo is delivered as an SVG in two variants: a light logo for dark backgrounds and a dark logo for light backgrounds.
Dock uses a clean, modern sans-serif system consistent with enterprise B2B SaaS. Based on visual inspection and Webflow conventions:
Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif)Dock employs a dark-first brand identity with a deep navy/near-black primary paired with white text on hero and CTA sections. A vibrant accent color (teal or blue-green) drives CTAs and interactive elements. The footer uses an inverted dark background. The trusted-by and social-proof sections use a lighter, neutral background to provide visual breathing room.
#0A0F1E or #0D1117#FFFFFF for hero text and dark-section body copy#2563EB or #1A6FF4 (primary button fill)#22C55E or similar for checkmark icons#F8F9FB or #F4F5F7 for mid-page sections#111827 on light sections#6B7280 for secondary copy#E5E7EBWebflow's default spacing grid is 4px-based. Dock uses generous vertical rhythm between sections โ consistent with enterprise landing pages that benefit from visual breathing room.
/\* ============================================================
Dock (dock.io) โ Inferred CSS Custom Properties
Platform: Webflow | Analyzed: 2026-07
Confidence: Medium (inferred from visual + structural analysis)
============================================================ \*/
:root {
/_ --- Brand Colors --- _/
--color-brand-dark: #0A0F1E; /_ hero / nav dark bg _/
--color-brand-navy: #0D1631; /_ footer bg _/
--color-brand-accent: #1A6FF4; /_ primary CTA, links _/
--color-brand-accent-hover:#1558C8; /_ CTA hover state _/
--color-brand-teal: #0EA5E9; /_ secondary accent / highlights _/
/_ --- Neutral Palette --- _/
--color-white: #FFFFFF;
--color-gray-50: #F8F9FB; /_ light section backgrounds _/
--color-gray-100: #F1F3F5;
--color-gray-200: #E5E7EB; /_ borders, dividers _/
--color-gray-400: #9CA3AF;
--color-gray-500: #6B7280; /_ muted / secondary text _/
--color-gray-700: #374151;
--color-gray-900: #111827; /_ body text on light bg _/
/_ --- Semantic Colors --- _/
--color-success: #22C55E; /_ checkmark icons _/
--color-danger: #EF4444;
--color-warning: #F59E0B;
/_ --- Typography --- _/
--font-family-base: 'Inter', -apple-system, BlinkMacSystemFont,
'Segoe UI', Helvetica, Arial, sans-serif;
--font-size-xs: 0.8125rem; /_ 13px _/
--font-size-sm: 0.875rem; /_ 14px _/
--font-size-base: 1rem; /_ 16px _/
--font-size-lg: 1.125rem; /_ 18px _/
--font-size-xl: 1.25rem; /_ 20px _/
--font-size-2xl: 1.5rem; /_ 24px _/
--font-size-3xl: 1.875rem; /_ 30px _/
--font-size-4xl: 2.25rem; /_ 36px _/
--font-size-5xl: 3rem; /_ 48px _/
--font-size-6xl: 3.75rem; /_ 60px _/
--font-size-display: 4.5rem; /_ 72px โ hero H1 _/
--font-weight-regular: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700;
--font-weight-extrabold: 800;
--line-height-tight: 1.2;
--line-height-snug: 1.375;
--line-height-normal: 1.5;
--line-height-relaxed: 1.65;
--letter-spacing-tight: -0.02em;
--letter-spacing-normal: 0em;
--letter-spacing-wide: 0.02em;
--letter-spacing-wider: 0.05em;
/_ --- Spacing (4px base unit) --- _/
--space-1: 0.25rem; /_ 4px _/
--space-2: 0.5rem; /_ 8px _/
--space-3: 0.75rem; /_ 12px _/
--space-4: 1rem; /_ 16px _/
--space-5: 1.25rem; /_ 20px _/
--space-6: 1.5rem; /_ 24px _/
--space-8: 2rem; /_ 32px _/
--space-10: 2.5rem; /_ 40px _/
--space-12: 3rem; /_ 48px _/
--space-16: 4rem; /_ 64px _/
--space-20: 5rem; /_ 80px _/
--space-24: 6rem; /_ 96px _/
--space-30: 7.5rem; /_ 120px โ section padding _/
/_ --- Border Radius --- _/
--radius-sm: 4px;
--radius-md: 6px;
--radius-lg: 8px;
--radius-xl: 12px;
--radius-2xl: 16px;
--radius-full: 9999px; /_ pill buttons _/
/_ --- Shadows --- _/
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
--shadow-xl: 0 16px 48px rgba(0, 0, 0, 0.16);
--shadow-card: 0 2px 8px rgba(10, 15, 30, 0.08),
0 1px 2px rgba(10, 15, 30, 0.04);
/_ --- Layout --- _/
--container-max-width: 1280px;
--container-padding-x: 1.5rem; /_ 24px _/
--nav-height: 72px;
--section-padding-y: var(--space-20);
/_ --- Transitions --- _/
--transition-fast: 150ms ease;
--transition-base: 250ms ease;
--transition-slow: 400ms ease;
/_ --- Z-index scale --- _/
--z-base: 0;
--z-raised: 10;
--z-dropdown: 100;
--z-sticky: 200;
--z-overlay: 300;
--z-modal: 400;
--z-toast: 500;
}
/\* ============================================================
Dark Mode Overrides
(Dock uses dark sections inline rather than a global
dark-mode toggle; these apply within dark-bg wrappers)
============================================================ \*/
[data-theme="dark"],
.section--dark,
.hero,
.footer {
--color-bg: var(--color-brand-dark);
--color-bg-secondary: var(--color-brand-navy);
--color-text-primary: var(--color-white);
--color-text-secondary: rgba(255, 255, 255, 0.65);
--color-text-muted: rgba(255, 255, 255, 0.4);
--color-border: rgba(255, 255, 255, 0.1);
--color-card-bg: rgba(255, 255, 255, 0.05);
--shadow-card: 0 2px 8px rgba(0, 0, 0, 0.4);
}
/_ Light section overrides _/
[data-theme="light"],
.section--light {
--color-bg: var(--color-white);
--color-bg-secondary: var(--color-gray-50);
--color-text-primary: var(--color-gray-900);
--color-text-secondary: var(--color-gray-700);
--color-text-muted: var(--color-gray-500);
--color-border: var(--color-gray-200);
--color-card-bg: var(--color-white);
}
| Token | Value | Usage |
|---|---|---|
color-brand-dark | #0A0F1E | Hero section bg, nav dark variant |
color-brand-navy | #0D1631 | Footer background |
color-brand-accent | #1A6FF4 | Primary CTA buttons, active links |
color-brand-accent-hover | #1558C8 | Button hover state |
color-brand-teal | #0EA5E9 | Secondary highlights, icon accents |
color-white | #FFFFFF | Text on dark bg, card bg |
color-gray-50 | #F8F9FB | Alternating section backgrounds |
color-gray-200 | #E5E7EB | Card borders, table dividers |
color-gray-500 | #6B7280 | Muted / secondary body text |
color-gray-900 | #111827 | Primary body text on light bg |
color-success | #22C55E | Checkmark icons in pricing table |
color-danger | #EF4444 | Error states, destructive actions |
| Token | Value | Usage |
|---|---|---|
space-1 | 4px | Micro gaps, icon padding |
space-2 | 8px | Inline element gaps |
space-4 | 16px | Default grid gap, list item spacing |
space-6 | 24px | Card internal padding, component gap |
space-8 | 32px | Card padding (large), nav item spacing |
space-12 | 48px | Sub-section vertical margins |
space-20 | 80px | Standard section top/bottom padding |
space-30 | 120px | Hero / large section padding |
| Token | Value | Usage |
|---|---|---|
font-size-xs | 13px | Captions, badges, legal text |
font-size-sm | 14px | UI labels, nav links, table cells |
font-size-base | 16px | Default body text |
font-size-lg | 18px | Lead paragraphs, feature descriptions |
font-size-2xl | 24px | H3 card headings |
font-size-4xl | 36px | H2 section headings |
font-size-5xl | 48px | Large H2 / feature statements |
font-size-display | 72px | Hero H1 display headline |
font-weight-semibold | 600 | Headings, buttons, nav items |
font-weight-bold | 700 | Hero headline, strong emphasis |
line-height-relaxed | 1.65 | Body paragraphs, feature copy |
letter-spacing-tight | -0.02em | Display headings, H1 |
| Token | Value | Usage |
|---|---|---|
radius-sm | 4px | Badges, tags, small chips |
radius-md | 6px | Input fields, small buttons |
radius-lg | 8px | Cards, feature blocks, dropdowns |
radius-xl | 12px | Modals, large cards, image containers |
radius-2xl | 16px | Hero images, device mockups |
radius-full | 9999px | Pill-shaped CTA buttons, avatars |
| Token | Value | Usage |
|---|---|---|
shadow-sm | 0 1px 2px rgba(0,0,0,0.05) | Subtle element lift, nav on scroll |
shadow-md | 0 4px 12px rgba(0,0,0,0.08) | Card resting state |
shadow-lg | 0 8px 24px rgba(0,0,0,0.12) | Hovered cards, dropdown menus |
shadow-xl | 0 16px 48px rgba(0,0,0,0.16) | Modals, overlays |
shadow-card | 0 2px 8px rgba(10,15,30,0.08) | Default card shadow using brand dark tint |
Framework & Platform
cdn.prod.website-files.com) and dual SVG logo pattern (light + dark variants).GTM-K885M4M).Theme Support
logo-by-docklabs-light.svg) and one for light contexts (logo-by-docklabs-dark.svg).prefers-color-scheme media query or data-theme attribute switching was detected.Data Confidence
Notable Design Patterns


.webp)


.webp)













SaaSFrame subscriptions are sold on Lemon Squeezy, a secured online selling platform for creators.
SaaSFrame gets updated all the time! Every new update and version will immediately be made available to all SaaSFrame users.
You can generate an invoice on your Lemon Squeezy portal once you purchased SaaSFrame. You will find the link in the order confirmation email.
You can cancel your membership subscription at any moment on your profile page.โ
If you're not satisfied, you can ask for a refund within 7 days. Just send me an email at antoine[at]unmake[dot]io
You can send me an email at antoine[at]unmake[dot]io, I'll be happy to help with any questions.