Second Talent Brand Guide - Second Talent
Skip to content
Brand guidelines

Second Talent brand guide

Three colours, one gradient, one typeface, square components on a white page. Second Talent is a tech talent platform that connects companies with AI-native engineers and specialists, matched in 24 hours, with no cost until you hire.

Version 3.2 · Updated September 2026 · Mirrors the production theme
01 · Foundation

The design language

Four rules define the brand. They are enforced globally in the theme's stylesheet, so a page cannot opt out by accident. Anything that looks rounded or lifted in markup renders square and flat.

01
White page

White is the default surface and most of the composition. Space does the work that panels and fills used to.

02
Zero radius

Cards, buttons, inputs, avatars and tags are square. A blanket rule catches utilities, rounded-full and inline plugin styles alike.

03
Zero elevation

No blur, glow or drop shadow on a component. Depth is a 1px hairline against a flat fill, and nothing floats above the page. The one glow in the system is a section ground: the gradient in 07.

04
Hairline structure

Sections and grids divide with 1px rules rather than gaps plus shadows. Adjacent borders collapse into one shared line.

Implementation note. Elevation is removed by zeroing the shadow variables (--tw-shadow, --tw-inset-shadow and the --shadow-* scale), never with box-shadow: none. Tailwind composes rings and shadows into a single box-shadow declaration, so blanking the property would erase every hairline ring too. Preflight is also disabled, which leaves box-sizing: content-box as the browser default: any component with a fixed width plus padding must set border-box explicitly.
03 · Identity

Clear space & minimum size

Protect the lockup with breathing room equal to the height of the mark ("x") on all four sides, and never render it below its legible minimum.

x x x x Logo clear space diagram

Minimum sizes

Digital, full lockup120px wide
Header, rendered height28–34px tall
Favicon / app icon24px tall
Print20mm wide

The lockup holds a 462 × 77 aspect ratio (≈6:1). Set width or height and let the other follow, never both. Never rebuild the wordmark in another typeface.

04 · Identity

Logo misuse

The lockup's integrity is non-negotiable. Never apply any of these treatments.

Don't stretch or squash
Don't recolour the mark
Don't add shadow or glow
Don't rotate or skew
Don't place on low-contrast fills
Don't box or badge it
05 · Colour

Three colours

The entire brand runs on brand orange, ink and white. There is no secondary palette and no accent family. Every grey you see is ink at reduced opacity, not a separate hue.

Brand Orange
HEX #FF8700
RGB 255, 135, 0
The single accent. Calls to action, highlighted words in display headings, key metrics, focus rings, active states.
Ink
HEX #060A14
RGB 6, 10, 20
Headings, body copy, hairlines, dark bands, the footer, and the primary button block. Ink does the structural work.
White
HEX #FFFFFF
RGB 255, 255, 255
The page. The default surface for every section, card and input, and the label colour on ink.

Ink tints, not new colours

100% Ink
70% Secondary
60% Muted
12% Hairline
6% Rule

Secondary text, captions, dividers and disabled states are all ink at one of these four opacities. Reaching for a new grey is how a palette drifts, so take a tint instead.

The only permitted variants

ValueWhereWhy it exists
#E66A08Orange hover / pressedBrand orange darkened ~8% so hover reads as a state change, not a new colour.
#B35206Orange text at body sizeBrand orange only reaches 2.4:1 on white. This shade hits 5.1:1 and meets AA.
#FF9533Highlight words on inkLifts the accent slightly so it holds up against a dark band.
Nothing else. No blues, no greens, no terracotta, no warm-grey family. If a design needs a fourth colour it needs a different composition: more white space, or ink at a different weight. Older collateral carrying #FF8800 is out of date; the brand orange is #FF8700, sampled from the logo.

Colour usage ratio

70% Ink
22% White
8%

Orange is an accent, not a surface. If two orange elements compete for attention in one view, one of them is wrong.

Dark mode

The site is ink by default; light mode is an explicit opt-in remembered in localStorage['st-theme']. The dark class ships on <html> from the server, so the default holds with no script and nothing repaints on first paint. The three colours simply trade places, and orange never changes.

RoleDark (default)Light
Surface#060A14#FFFFFF
Text#FFFFFF#060A14
Hairlinewhite 14%ink 12%
Accent#FF8700#FF8700
06 · Colour

Accessible pairings

Measured ratios for every pairing three colours can produce. Orange is a strong background but a weak foreground, so pair it with ink, never with white body copy.

Ink on white
✓ AAA · 19.8:1
White on ink
✓ AAA · 19.8:1
Ink on orange
✓ AAA · 8.2:1
Orange on ink
✓ AAA · 8.2:1
Ink 70% on white
✓ AAA · 7.6:1
Ink 60% on white
✓ AA · 5.3:1
Deep orange text on white
✓ AA · 5.1:1
Brand orange on white
✕ 2.4:1 · display only
White on orange
✕ 2.4:1 · never
Two live exceptions. Highlighted words inside large display headings sit at 2.4:1, legible at 40px but below AA, so they must stay decorative and never carry meaning alone. The orange-filled button currently ships a white label at the same ratio; its label should be ink (8.2:1). For orange text at body size, use #B35206.
07 · Colour

The glow gradient

One gradient, and it is built from the same three colours: an ink ground with brand orange glowing in from both sides. It is the ground of every article hero and of the dark bands on marketing pages. It is a section background, never a fill for a component or for type.

Glow band

Asia's top engineers, matched in 24 hours.

White headings, one highlight in #FF9533, body copy at 70% white. The centre stays dark, so type sits there.

Start Hiring

How it is built

1 · Ink ground, #060A14
2 · Four orange lobes, before softening
3 · Screen blend, 44px blur, edge mask
LayerValueRole
Ground#060A14Ink, the same value as every dark band and the footer.
Side glow#FF9533 at 38%Two ellipses, 36% by 50% of the band, centred at 13% and 87% across, 28% down.
Lower glow#FF9533 at 18%Two smaller ellipses, 28% by 36%, at 18% and 82% across, on the bottom edge.
Orbs#FF9533 at 16%A 420px and a 360px circle, top left and bottom right. Desktop only.
Softeningscreen · blur 44px · maskScreen blend lifts the ink instead of muddying it; an elliptical mask fades the glow out before the band's edge.

Contrast on the gradient

TextOn bare inkAt the brightest glow
White headings and labels19.8:19.1:1 · AAA
White at 70%, body copy9.7:15.4:1 · AA
#FF9533 highlight words9.0:14.1:1 · large display only

The brightest-glow column is the worst case: the unblurred centre of a side lobe. Real type sits nearer the dark centre, where contrast is higher. Orange highlight words that fall over a side lobe must stay at display size.

Where it is used

SurfaceClass
Article and resource heroes.blog-hero
Case studies strip.st-glow-band.dark
Talent cards.st-glow-band.dark
Role and country chips.st-glow-band.dark
Final call-to-action band.st-glow-band.dark

Do

  • Use it as a full-width section ground, edge to edge
  • Alternate it with white sections, so two dark bands never touch
  • Keep headings white and put the one highlight in #FF9533
  • Let the final call-to-action band run straight into the ink footer
  • Apply the class pair st-glow-band dark, so text stays light in both themes

Don't

  • Put it on a card, button, tag, badge or line of type
  • Recolour the glow, add a second hue, or bring back the blue aurora
  • Replace it with a linear orange gradient or an orange fill
  • Set orange body copy over a side lobe
  • Stack two glow or ink bands back to back
Build new dark sections with the class, never a copied gradient. .st-glow-band lives in app.css beside .blog-hero, and adding dark scopes the dark colour tokens to the band, so a visitor on the light theme still gets light text on ink.
08 · Type

Typography

Satoshi is the single typeface across the brand: headings, body, buttons and UI. Self-hosted as one variable file covering weights 300–900, so the whole range costs a single 42 KB request.

Display · 800

Hire and build AI-native teams in Asia

Section heading · 700

Engineers who build, ship and automate with AI

Body · 400–500

The same Satoshi face carries every paragraph, caption, button and label, keeping the visual rhythm tight and the page weight light. Pre-vetted engineers, matched in 24 hours, with no cost until you hire.

Aa
LIGHT 300
Aa
REGULAR 400
Aa
MEDIUM 500
Aa
SEMIBOLD 600
Aa
BOLD 700
Aa
EXTRABOLD 800
Aa
BLACK 900

Scale as implemented

RoleClassMobilemd ≥768lg ≥1024Weight
Hero H1.hp-hero-title34px51px57px800
Section H2.section-heading25px32px40px700
Card H3text-xl20px20px20px700
Bodytext-base16px16px16px400–500
Smalltext-sm14px14px14px400–600
Eyebrown/a11–12px11–12px11–12px700, uppercase
Usage rules
  • Headings: 700–800, tracking −0.02em to −0.035em, line-height 1.05–1.2.
  • Body & UI: 400–500; 600–700 for buttons and emphasis. Line-height 1.6–1.75.
  • Measure: cap paragraphs at roughly 62–66 characters.
  • One scale: every section heading site-wide resolves to 25 / 32 / 40px. Don't invent per-page sizes.
Loading & fallback

Satoshi is preloaded with font-display: swap. Behind it sits a metric-matched Arial fallback (ascent 92.37%, descent 21.95%, line-gap 9.15%, size-adjust 109.35%) that occupies Satoshi's exact box, so the swap causes zero layout shift.

Never load Satoshi from a third-party CDN, and never substitute Inter, Poppins or a system stack in brand collateral.

09 · Components

Buttons

One primary action per view. The primary button is a solid orange rectangle with a static arrow glyph on the text baseline. No pill, no chip, no motion loop. Hover reverses the pair, so the fill goes white and the label goes orange, and nudges the arrow 0.2rem right. The secondary button is that reversed state at rest.

Start Hiring Primary · .btn-primary
Start Hiring Large · .btn-cta-pill.btn-cta-lg
Check Pricing Secondary · .btn-outline
Book a call Accent · .btn-accent
Start Hiring Primary stays orange on ink surfaces
Check Pricing Secondary keeps the orange hairline

Specification

PropertyDefaultLarge
Padding0.75rem 1.35rem0.9rem 1.6rem
Font size / weight0.875rem / 7000.9375rem / 700
Radius00
Border1px solid, matching the fill1px solid
Fill / label#FF8700 / #FFFFFFsame
Hoverreversed: #FFFFFF fill, #FF8700 label, arrow +0.2remsame
Focusoutline 2px #FF8700, offset 1pxsame
Transitionbackground-color / color 0.18s easesame
Orange reads cleanly on the ink bands (.hero-animated-bg, .bg-primary-900, .bg-neutral-900), so the button keeps the same fill there rather than inverting to white. Use .st-on-dark to opt in any other ink panel. Never hand-edit button colours in a view.
10 · Components

Core components

Every component is drawn with two ingredients: a white fill and a 1px line. Where cards sit side by side their borders collapse into one shared rule rather than floating in a gutter.

Card

Square corners, hairline border, white fill. No hover lift and no shadow. Hover changes the border colour instead.

Matched in 24 hours

Pre-vetted AI-native engineers, ready to start.

Tags

Square, hairline, white fill. Used for skills, stacks and filters. Never pill-shaped.

Claude CodeLangChainPythonReactn8nRAG
Avatars

Square crops at 6rem, or 2.5rem inline. The language has no circular crops anywhere, including team photos and testimonial headshots.

Quote

Serif open-quote glyph, ink body, author block pinned to the bottom of the card.

Their pre-vetted candidates integrated seamlessly, and their account management ensured smooth onboarding.

Tom F. · Co-founder
Stat block

Oversized extrabold number, muted label beneath. Numbers may take the accent; labels never do.

24h
To get matched
92%
Talent retention
Logo row

Client and platform logos sit desaturated at 45% opacity and resolve to full colour on hover, so they never compete with the headline.

G2 4.9Clutch 4.9Trustpilot 4.7

Also in the system

ClassWhat it is
.st-gridGutterless hairline grid: children divided by 1px rules, zero gap, doubled seams collapsed on mobile.
.st-tag / .st-avatarThe square tag and square headshot shown above.
.st-diamond / .st-railRotated-square step markers on a dashed rail; the marker's outline knocks the line out where it crosses.
.st-review-strip / .st-review-card2Horizontal scroll-snap testimonial track. Card widths 82vw → 24rem → 23rem so the next card always peeks. Square prev/next buttons drive it; there is deliberately no wheel-to-horizontal hijack.
.hero-animated-bgThe ink hero band, with soft masked gradients and an optional portrait at 19% opacity.
.st-glow-bandThe glow gradient as a section ground (07). Pair it with dark.
.section-containerPage gutter: max-w-7xl centred, px-4 sm:px-6 lg:px-8.
11 · Layout

Layout & spacing

A 4px base unit sets the rhythm. Sections sit tight at the top and looser at the bottom, so a heading stays close to the band above it and the content breathes before the next seam.

Section rhythm
Section paddingpt-6 md:pt-8 · pb-10 md:pb-14
Containermax-w-7xl (80rem)
Gutterpx-4 · sm:px-6 · lg:px-8
Heading → content40px
Card grid gap16px, or 0 with hairlines
Section seam1px, ink 6%
Band orderdark and light alternate
Spacing scale
4
8
12
16
24
32
40
56
96
Everything is drawn at 1px. Heavier border utilities are downgraded globally so buttons, cards and inputs sit at the same optical weight. If a divider needs more presence, change its opacity, not its width.
12 · Iconography

Iconography

One stroked line-icon set. Uniform 1.5–2px stroke, rounded caps, currentColor, drawn on a 24px grid and rendered at 20 or 24px. No filled or duotone mixing, and no emoji standing in for an icon.

Do

Uniform stroke weight, rounded caps, a single consistent set, sized 20 or 24px, inheriting text colour.

Don't

🚀

Mix filled and stroked, vary stroke weight inside one row, or substitute an emoji for an icon.

13 · Imagery

Photography

Real teams and workplaces, warm natural light, candid over posed. Our employees are across Vietnam, the Philippines, Indonesia, Singapore, Malaysia, Thailand, Hong Kong, Taiwan and China. Imagery should represent them authentically, not generically.

Second Talent team at work
✓ DO

Authentic teams at work, warm natural light, candid moments, square crops, subjects who reflect the markets we hire in.

Cold blue-tinted stock
✕ DON'T

Cold blue-tinted or generic stock, heavy filters, staged handshakes, rounded or circular crops, black-and-white treatments.

Images are square-cropped like everything else. The hero portrait treatment is deliberate: the photo sits at 19% opacity, screen-blended over the ink band and radially masked so headline text stays readable. Photography supports the type. It never fights it.
14 · Voice

Brand voice

Professional but approachable, confident but never boastful. We sell certainty: a specific outcome, on a specific timeline, backed by a number we can defend.

Professional

A business-to-business tone that demonstrates real expertise in engineering hiring across Asia. Credible, never corporate-bland.

Direct

Short sentences, concrete claims, no throat-clearing. Say what happens and how long it takes.

Outcome-led

Every message ends at the client's result: teams shipped, costs saved, roadmaps hit, not at our process.

Do

  • Lead with speed and specificity: matched in 24 hours, onboarded in days
  • Use defensible numbers: up to $103,000+ saved per hire, 92% retention, 4–8 hours of daily overlap
  • Say "AI-native engineers", meaning engineers who ship with Claude Code, Cursor and modern LLM toolchains
  • Name the markets: Vietnam, the Philippines, Indonesia, Singapore, Malaysia, Thailand, Hong Kong, Taiwan, China
  • Say employees rather than "people" when referring to the workforce
  • Keep EOR pages EOR-only: compliance, payroll and entity language, not developer recruiting

Don't

  • Use casual filler, hype words or exclamation marks
  • Make vague promises with no number attached
  • Describe the hiring process as complicated, because the promise is that it isn't
  • Use unexplained jargon or internal shorthand in client-facing copy
  • Undersell the offer, or oversell with claims we cannot evidence
  • Mix service lines in one page's framing, such as staffing copy on an EOR page
15 · Messaging

Key messaging points

The positioning, in the order it appears on the site. Use these as written, because they are the claims the rest of the marketing is built to support.

Positioning statement

Second Talent is a tech talent platform that connects companies with AI-native engineers and specialists.

No cost until you hire. Primary call to action: Start Hiring. Secondary: Check Pricing.

AI-native engineers

Engineers who ship with Claude Code, Cursor and modern AI toolchains, building LLM features and deploying AI tooling into production, not just reading about it.

Matched in 24 hours

From requirement to matched candidates in a day, and onboarded within days. The traditional hiring timeline is the problem we remove.

Strict vetting

Coding tests, peer interviews and role checks on every engineer, tested against the AI tools and stack the client actually uses.

Built for your timezone

Four to eight hours of daily overlap keeps teams aligned. No 3am standups, no day-long lag.

Real cost advantage

Up to $103,000+ saved per hire, without the overhead of an entity or the compromise of a cheaper hire.

Fully compliant

Employer of Record coverage across Asia. Contracts, payroll, tax and in-country compliance handled, so clients focus on the product.

Proof points

24h
To get matched
4.9
Average client rating
200+
Companies building with us
92%
Talent retention rate

Third-party ratings, shown as a trust row on heroes and key landing pages: G2 4.9/5 · Clutch 4.9/5 · Trustpilot 4.7/5. Always link each badge to its live review profile, and never quote a rating we have not verified that day.

Need brand assets? Get in touch.

For logo files, templates, deck layouts or anything this guide doesn't answer, reach out to our team.

Contact Us
WhatsApp