ghost · desktop
抽出の信頼度
- コンポーネントがサイトと99%一致
- サイトのカラーの100%をカバー
- サイトのテキストスタイルの100%をカバー
- トークンの100%がサイト上で確認済み
Magentix Studioは、AIを中核に据えたプロダクトスタジオを、エディトリアルでアートギャラリーのような佇まいで演出しています。
2px
2px
12px
16px
16px
56px
56px
56px
56px
56px
56px
80px
80px
80px
180px
180px
1080px
1080px
1080px
1080px
コンポーネント
Buttons4
primary · desktop
サイトとの一致度は96%で、基準の97%を下回っています。
通常時96%一致25件の計測値が一致
ホバー96%一致22件の計測値が一致
フォーカス91%一致22件の計測値が一致
primary · desktop
フォーカス時、サイトとの一致度は93%で、基準の97%を下回っています。
通常時97%一致25件の計測値が一致
ホバー97%一致22件の計測値が一致
フォーカス93%一致22件の計測値が一致
secondary · desktop
フォーカス時、サイトとの一致度は93%で、基準の97%を下回っています。
通常時100%一致25件の計測値が一致
ホバー98%一致22件の計測値が一致
フォーカス93%一致22件の計測値が一致
Cards3
desktop
通常時100%一致77件の計測値が一致
通常時、インスタンス2100%一致77件の計測値が一致
通常時、インスタンス3100%一致77件の計測値が一致
通常時、インスタンス4100%一致77件の計測値が一致
desktop
サイトとの一致度は100%で、基準の96%を下回っています。
通常時100%一致180件の計測値が一致
フォーカス100%一致18件の計測値が一致
通常時、インスタンス2100%一致180件の計測値が一致
通常時、インスタンス395%一致180件の計測値が一致
通常時、インスタンス495%一致180件の計測値が一致
通常時、インスタンス595%一致180件の計測値が一致
desktop
通常時100%一致326件の計測値が一致
通常時、インスタンス2100%一致326件の計測値が一致
通常時、インスタンス3100%一致326件の計測値が一致
Extras4
desktop
通常時100%一致44件の計測値が一致
desktop
通常時100%一致198件の計測値が一致
desktop
desktop
Headers4
desktop
通常時100%一致253件の計測値が一致
フォーカス未チェック
ctaのフォーカス100%一致18件の計測値が一致
linkのフォーカス100%一致18件の計測値が一致
logoのフォーカス100%一致18件の計測値が一致
desktop
サイトとの一致度は100%で、基準の96%を下回っています。
通常時100%一致292件の計測値が一致
ホバー未チェック
フォーカス未チェック
cta 2のフォーカス100%一致22件の計測値が一致
cta 2のホバー100%一致22件の計測値が一致
ctaのフォーカス100%一致22件の計測値が一致
ctaのホバー100%一致22件の計測値が一致
mobile
通常時100%一致204件の計測値が一致
フォーカス未チェック
logoのフォーカス100%一致18件の計測値が一致
menu toggleのフォーカス100%一致18件の計測値が一致
mobile
Group 4のyは233pxですが、サイトでは220pxです; Group 4のheightは178pxですが、サイトでは203pxです、ほか9件。
通常時99%一致292件中11件の計測値が異なります
ホバー未チェック
フォーカス未チェック
cta 2のフォーカス99%一致22件の計測値が一致
cta 2のホバー98%一致22件の計測値が一致
ctaのフォーカス99%一致22件の計測値が一致
ctaのホバー99%一致22件の計測値が一致
Footers4
desktop
通常時100%一致627件の計測値が一致
ホバー未チェック
フォーカス未チェック
ctaのフォーカス100%一致22件の計測値が一致
ctaのホバー100%一致22件の計測値が一致
linkのホバー100%一致18件の計測値が一致
desktop
通常時100%一致627件の計測値が一致
ホバー未チェック
フォーカス未チェック
link 2のホバー100%一致18件の計測値が一致
linkのフォーカス100%一致22件の計測値が一致
linkのホバー100%一致22件の計測値が一致
mobile
通常時100%一致627件の計測値が一致
ホバー未チェック
フォーカス未チェック
ctaのフォーカス100%一致22件の計測値が一致
ctaのホバー100%一致22件の計測値が一致
linkのホバー100%一致18件の計測値が一致
mobile
通常時100%一致627件の計測値が一致
ホバー未チェック
フォーカス未チェック
link 2のホバー100%一致18件の計測値が一致
linkのフォーカス100%一致22件の計測値が一致
linkのホバー100%一致22件の計測値が一致
Magentix Studio
Overview
Magentix Studio reads like a well-kept studio notebook: calm, editorial and near-monochrome. A cool off-white canvas, Studio Ink (ink, #18181B) text and a light-weight display serif do almost all the work. Colour is withheld on purpose. The only chromatic note in the page palette is Margin Blue (accent-link, #3563AD), and it shows up on inline links only. The personality comes from type contrast and the isometric cube illustrations, not from colour.
Density is low and generous. Sections breathe on an 80px vertical rhythm, and cards carry large internal padding with big soft radii. Long stretches of empty canvas are part of the composition. Hierarchy comes from typeface switching more than from weight. Fraunces at weight 350 with negative tracking sets every headline. Hanken Grotesk at 400 carries reading text. Space Mono marks meta labels, and Space Grotesk 500 is reserved for the wordmark. Nothing on the site is bold.
Depth is tonal and atmospheric. White cards (card, #FFFFFF) sit on the off-white surface and lift with a single faint, diffuse shadow. The floating navigation capsule is a translucent grey glass panel with a 24px backdrop blur. Hairline borders are effectively absent from the UI chrome. Buttons carry a 1px transparent border that only becomes visible as a grey ring on focus.
Key Characteristics:
- Near-monochrome palette:
ink#18181B onsurface#F8F8F9, with grey tierssurface-raised#EDEDF0 andsurface-strong#DCDCE0. - Fraunces display serif at weight 350 for every heading from
title-md(24.9px) tohero-display(72px), always negatively tracked. - Three weights only: 350 (serif), 400 (text), 500 (Space Grotesk wordmark).
- Space Mono micro-labels (
mono-label, 13px) on tintedsurface-raisedchips give a technical, builder's voice. - Soft geometry: 15px controls, 22px cards, 7px chips, with occasional 64px oversized corners on media panels.
- Elevation is one ambient shadow (
#0A0A0C0F 0px 4px 20px 0px) plus frosted glass (blur(24px) saturate(1.5)) on the nav capsule. - Primary actions are solid ink rectangles with white text. Secondary actions are translucent ink tints with an 8px blur.
- A real dark theme ships alongside light, and it swaps the same roles.
Colors
The palette is a cool zinc greyscale anchored on one ink colour. Blue is the only hue, and it is reserved for inline links. The site uses no gradients; depth inside illustrations comes from flat isometric face shading, not colour ramps.
Ink & Accent
- Studio Ink (
primary/ink, #18181B): all body and heading text, plus the solid fill of primary CTAs (button-primary(flagged: the render matched 96% of the original pixels, below the 97% required after 2 correction attempts),footer-inner-cta). It is never pure black. - Margin Blue (
accent-link, #3563AD): inline text links only. It appeared 4 times on 1 page, so keep it rare. Never use it as a button fill or a surface.
Surface
- Paper (
surface, #F8F8F9): the page canvas behind everything (header-landing-group-2). - On-Dark (
on-dark, #F8F8F9): text placed on an ink fill. It shares its hex withsurface. - Bone (
surface-raised, #EDEDF0): inset panels and chips. Examples are the illustration well ofproduct-thumbnail-button, the badgecard-2-badge, the meta chipcard-3-textand the small tilescard-3-group-4. - Fog (
surface-strong, #DCDCE0): the strongest grey tier. At 60% alpha (#DCDCE099) it forms the glass capsule behind the nav (navigation-group,header-inner-group).
Text
- Studio Ink (
ink, #18181B): primary text. The hero lead is set at 70% alpha (#18181BB3) onheader-landing-inner-2. - Slate (
muted, #6B6B70): secondary copy, card bodies (card-body,card-3-body), footer column headings (footer-inner-text) and the second half of the wordmark (header-inner-logo-text-2).
Hairlines & Borders
- Fog Hairline (
hairline, #DCDCE0): the only hairline colour. Borders are used sparingly; most separation is tonal.
Component & State Colors
These were measured on components, not in page sampling.
- Card White (#FFFFFF): the fill of
card,card-3andcard-2-group-6, and the active-tab pillheader-inner-group-3. It is also the text colour on ink buttons. - Ink Tint (#18181B12): the translucent fill of
button-secondary(flagged: the render matched 93% of the original pixels, below the 97% required on focus after 2 correction attempts). It deepens to #18181B24 on hover (button-secondary-hover). - Focus Grey (
focus-ring, #A1A1A1): the focus treatment on filled buttons. The border becomes1px solid #A1A1A1and a 3px ring of #A1A1A180 appears. - Focus Cyan (#42B5DC4D): the 3px focus ring on transparent controls (
button-ghost,theme-toggle,header-inner-link,product-thumbnail-button).
The dark theme inverts the same roles rather than restyling anything. Text flips to a pale grey (#EDEDEF) and muted copy to #98989F. The canvas becomes a near-black #17171A, and raised panels and chips become #2B2B30. The few borders move to #38383E, and the link accent lightens to #86A8E6 to hold contrast. Because every role keeps its slot, the system is clearly built on role-named variables swapped per theme, with geometry, type and elevation left untouched.
Dark Mode
The dark values below were measured with the dark color scheme forced on the page; the light values are the page's normal render.
| Role | Light | Dark |
|---|---|---|
| Surface | surface-raised | #2B2B30 |
| Surface (secondary) | on-dark | #17171A |
| Text | primary | #EDEDEF |
| Text (secondary) | muted | #98989F |
| Dark only | not observed | #86A8E6 |
| Dark only | not observed | #38383E |
Typography
Font Family
- Fraunces (variable serif): every headline and display line, always at weight 350. Italics are used for emphasis inside the hero headline.
- Hanken Grotesk (grotesque sans): the workhorse. It sets body, lead copy, navigation links, footer links and button labels.
- Space Mono (monospace): meta text such as badges, status chips, dates and footer fine print. It carries the technical, code-like voice.
- Space Grotesk (geometric sans, 500): the
buttontoken. On the page it is measured on the wordmark (header-inner-inner, 16px / 500 / -0.4px). Measured button labels actually use Hanken Grotesk 15px at 400 (button-primary).
Hierarchy
| Token | Size | Weight | Line Height | Letter Spacing | Use |
|---|---|---|---|---|---|
hero-display | 72px | 350 | 1.1 | -1.3px | Landing hero headline (Fraunces) |
display-lg | 58px | 350 | 1.05 | -0.58px | Page H1 on inner pages (hero-title) |
display-md | 44px | 350 | 1.05 | -0.58px | Section H2 |
title-lg | 33px | 350 | 1.1 | -0.33px | Large card titles (card-2-title) |
title-md | 24.9px | 350 | 1.1 | -0.2px | Feature card titles (card-title) |
lead | 19.2px | 400 | 1.3 | 0.096px | Hero and page intro copy (hero-body) |
mono-lg | 19px | 400 | 1.4 | normal | Large monospace display spans |
body-lg | 17px | 400 | 1.4 | normal | Default root text size |
body | 16px | 400 | 1.4 | normal | Card body paragraphs (card-body) |
button | 16px | 500 | 1.4 | -0.4px | Space Grotesk wordmark / UI label |
nav-link | 15px | 400 | 1.4 | 0.075px | Nav and footer links |
body-sm | 15px | 400 | 1.5 | normal | Compact paragraphs (card-3-body) |
caption | 14px | 400 | 1.4 | normal | Footer column headings (footer-inner-text) |
mono-label | 13px | 400 | 1.4 | 0.075px | Badges, chips, footer fine print |
Principles
- Three weights, no bold. The system uses 350 for Fraunces, 400 for Hanken Grotesk and Space Mono, and 500 only for Space Grotesk. Do not introduce 600 or 700. Emphasis comes from switching family or setting the serif in italic.
- Tracking scales with size. Fraunces is always tracked negative: -1.3px at 72px, -0.58px at 58px and 44px, -0.33px at 33px, -0.2px at 24.9px. Small sans and mono text gets a hair of positive tracking (0.075px on
nav-linkandmono-label, 0.096px onlead). - Line-height tightens with size. Display lines run 1.05–1.1 and reading text 1.4.
body-smopens to 1.5 for narrow card columns. - The footer statement sits off-ladder. It is 42px Fraunces (
footer-inner-inner), betweendisplay-mdandtitle-lg. Treat it as a one-off.
Note on Font Substitutes
All four families are open-source Google Fonts, so no substitution is needed. Load Fraunces as the variable font so weight 350 renders exactly. A static 300 or 400 cut will read noticeably lighter or heavier. If you must fall back, use Georgia for Fraunces and keep the negative tracking. Use system-ui for the grotesques and ui-monospace for Space Mono, matching the fallback stacks measured in the recipes.
Layout
Spacing System
No base step was extracted. Spacing is expressed as measured tokens:
| Token | Value | Read on |
|---|---|---|
section-padding-y | 80px | Vertical rhythm between page sections (measured on the page, not a component) |
footer-inner-column-gap / footer-landing-column-gap | 80px | Gap between the statement column and the link columns of the desktop footer |
footer-inner-gap / footer-landing-gap | 56px | Gap between the footer link groups (footer-inner-column-2) |
footer-inner-mobile-column-gap / footer-landing-mobile-column-gap | 56px | The footer column gap at mobile |
footer-inner-mobile-gap / footer-landing-mobile-gap | 56px | Link-group gap at mobile |
card-grid-gap | 16px | Gutter of the feature card grid |
card-3-grid-gap | 16px | Gutter of the card-3 work grid |
button-ghost-padding-x | 12px | Horizontal padding of icon/ghost buttons |
header-inner-gap / header-inner-mobile-gap | 2px | Gap between tabs inside the nav capsule |
Large structural gaps (80px, 56px) contrast with tight component gaps (16px, 2px). That contrast is the system.
Grid & Container
- Content containers cap at 1080px (
footer-inner-inner-max-width,footer-landing-inner-max-width). The same value holds on mobile (footer-inner-mobile-inner-max-width). - The wordmark group inside the nav is capped at 180px (
header-inner-inner-max-width). - Card grids use equal-width columns with a 16px gutter (
card-grid-gap,card-3-grid-gap). - The footer splits into a statement-and-CTA column on the left and link columns on the right.
- The process section uses a split text-left, image-right layout.
- The hero is a centred single column.
Whitespace Philosophy
Whitespace is the primary separator. Sections are not divided by rules or colour bands; each sits 80px (section-padding-y) from the next on the same surface canvas. Inside the footer, 80px and 56px gaps keep the statement isolated from the link lists. Within grids, gutters shrink to 16px, so cards read as one set while sections read as distinct chapters. Do not fill the empty canvas: the long quiet stretches around the hero are intentional.
Measured Layout
Every spacing token restates a measurement of a verified component recipe, or the step those measurements share. section-padding-y is measured directly on the page sections and feeds no step.
section-padding-y: 80px (vertical padding repeated on the page sections: 1 section edge on 1 page)footer-landing-column-gap: 80px (footer-landing, column gap of thefooter-landing-columnsgrid)footer-landing-gap: 56px (footer-landing, gap offooter-landing-column-2)footer-landing-inner-max-width: 1080px (footer-landing, max width offooter-landing-columns)footer-landing-mobile-column-gap: 56px (footer-landing-mobile, column gap of thefooter-landing-mobile-columnsgrid)footer-landing-mobile-gap: 56px (footer-landing-mobile, gap offooter-landing-mobile-column-2)footer-landing-mobile-inner-max-width: 1080px (footer-landing-mobile, max width offooter-landing-mobile-columns)header-inner-gap: 2px (header-inner, gap ofheader-inner-group-2)header-inner-inner-max-width: 180px (header-inner, max width ofheader-inner-inner)footer-inner-column-gap: 80px (footer-inner, column gap of thefooter-inner-columnsgrid)footer-inner-gap: 56px (footer-inner, gap offooter-inner-column-2)footer-inner-inner-max-width: 1080px (footer-inner, max width offooter-inner-columns)header-inner-mobile-gap: 2px (header-inner-mobile, gap ofheader-inner-mobile-group-2)header-inner-mobile-inner-max-width: 180px (header-inner-mobile, max width ofheader-inner-mobile-inner)footer-inner-mobile-column-gap: 56px (footer-inner-mobile, column gap of thefooter-inner-mobile-columnsgrid)footer-inner-mobile-gap: 56px (footer-inner-mobile, gap offooter-inner-mobile-column-2)footer-inner-mobile-inner-max-width: 1080px (footer-inner-mobile, max width offooter-inner-mobile-columns)card-grid-gap: 16px (card, column gap of the grid its instances sit in)card-3-grid-gap: 16px (card-3, column gap of the grid its instances sit in)button-ghost-padding-x: 12px (button-ghost, horizontal padding of the root)
The card grid lays out in 4 columns; the footer in 2 columns; the card-3 grid in 3 columns at desktop.
Elevation & Depth
Depth on Magentix Studio is built in three layers: tonal surface steps, one faint diffuse shadow, and frosted glass on floating chrome. Every lift is low-contrast and wide-radius, so nothing reads as a hard drop.
| Level | Treatment | Use |
|---|---|---|
| 0 · Canvas | Tonal only: Mist (surface, #F8F8F9) page fill, no lift | Page background behind everything (header-landing-group-2, #F8F8F9) |
| 0 · Inset panel | Tonal step down to Fog (surface-raised, #EDEDF0), no lift | Illustration wells and chips inside white cards: product-thumbnail-button (#EDEDF0, 16px radius), card-3-button, card-3-text, card-3-group-4, card-2-badge |
| 0 · Latent hairline | 1px solid transparent border reserved on the control, invisible at rest | button-primary, button-secondary, footer-landing-link, footer-inner-cta. The border slot exists so focus can paint it without layout shift |
| 1 · Ambient card shadow | transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #0A0A0C0F 0px 4px 20px 0px | White (#FFFFFF) cards on the Mist canvas: card (22px radius), card-3 (22px radius), card-2-group-3 and card-2-group-6 inside card-2 (flagged: the render came out 3100 px shorter than the original (instance 1) after 2 correction attempts) |
| 1 · Tight pill shadow | transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #00000014 0px 0.98px 11.74px 0px | The white active-tab pill inside the nav capsule (header-inner-group-3, #FFFFFF, 15px radius) |
| 2 · Frosted capsule | backdrop-filter: blur(24px) saturate(1.5) over a translucent #DCDCE099 fill, plus the ambient #0A0A0C0F 0px 4px 20px 0px shadow | The fixed floating nav: navigation-group, header-inner-group, header-inner-mobile-group (22px radius, 8px padding) |
| 2 · Frosted button | backdrop-filter: blur(8px) over a translucent #18181B12 fill (#18181B24 on hover) | Secondary CTAs: button-secondary (flagged: the render matched 93% of the original pixels, below the 97% required on focus after 2 correction attempts), header-landing-cta-2, header-landing-mobile-cta-2 |
| Focus ring (neutral) | #A1A1A180 0px 0px 0px 3px ring plus border switched to 1px solid #A1A1A1 (Focus Grey, focus-ring, #A1A1A1) | Filled CTAs: button-primary, button-primary-2, button-secondary, footer-landing-link, footer-inner-cta |
| Focus ring (cyan) | #42B5DC4D 0px 0px 0px 3px ring, no border change | Transparent icon and nav controls: button-ghost, theme-toggle, product-thumbnail-button, header-inner-logo, header-inner-link, header-inner-mobile-menu-toggle |
Shadow philosophy. Shadows are part of this system, and they do one job: they separate pure-white content from the off-white canvas. There are exactly two box-shadows. The ambient #0A0A0C0F 0px 4px 20px 0px (about 6% near-black, 20px blur, 4px drop) goes on every card and the nav capsule. The tighter #00000014 0px 0.98px 11.74px 0px is reserved for the small active pill sitting inside that capsule.
Both are written as five-layer stacks whose first four layers are transparent. Keep that shape so focus rings can occupy the fourth slot without overwriting the lift.
Do not darken these shadows, stack them, or add hard hairline borders around cards. Separation comes from white-on-Mist contrast plus the soft halo. Inner hierarchy steps down tonally to surface-raised instead of up via shadow.
Blur is the second elevation device and belongs only to floating or overlaying chrome. The nav capsule uses blur(24px) saturate(1.5) and secondary buttons use blur(8px). Both sit on translucent fills, so never swap them for opaque colors.
Shapes
Border Radius Scale
| Token | Value | Use |
|---|---|---|
rounded.xs | 7px | Small tiles and chips inside work cards (card-3-group-4) |
rounded.sm | 12px | Observed on one page; no recipe carries it. Reserve for small inset elements |
rounded.md | 15px | The control radius: every button (button-primary, button-secondary, button-ghost), nav links (navigation-link, header-inner-link), the active nav pill (header-inner-group-3), badges (card-2-badge, card-3-text) |
rounded.lg | 16px | Illustration wells inside cards (product-thumbnail-button, card-3-button) |
rounded.xl | 22px | Cards (card, card-3) and the nav capsule (navigation-group, header-inner-group) |
rounded.2xl | 24px | Floating white inset panels (card-2-group-6) |
rounded.3xl | 64px | Oversized media corners (card-2-group-3), such as the big rounded corner on the process imagery |
rounded.full | 9999px | True pills and circles; seen sparingly on the page |
The geometry is soft and nested.
- Nesting rule. Containers get larger radii than the controls inside them: a 22px card holds a 16px well, which holds 7px chips. The nav capsule at 22px holds 15px tabs, separated by its 8px padding.
- Buttons are not pills. They are 15px rounded rectangles.
rounded.fullbelongs to genuinely circular or pill elements only. - Corners stay round. Squared corners never appear in the UI.
- Angular art is the counterpoint. The crisp isometric cube illustrations supply the angles, and they read clearly because every container around them is rounded.
Components
Each component below was distilled from the live page: the recipe is a standalone, placeholder-filled reproduction with literal values, and every frontmatter key named in the anatomy carries the same measurements. A verified component reproduced the original in every check; a flagged one is shipped with the reason it did not; one marked not verifiable could not be compared with the original, which says nothing about the recipe.
Buttons
Button, primary
Verification: flagged, the render matched 96% of the original pixels, below the 97% required after 2 correction attempts.
Anatomy
button-primary: the component root, a<a>(.c-button-primary), 12-character label
Recipe
HTML · CSS
<div class="c-button-primary-scope">
<a class="c-button-primary" href="#">lorem ipsum</a>
</div>
.c-button-primary-scope {
background-color: #F8F8F9;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-button-primary {
display: inline-flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
border-spacing: 0px;
box-sizing: border-box;
padding: 12px 24px;
background-color: #18181B;
background-clip: padding-box;
color: #FFFFFF;
border: 1px solid transparent;
border-radius: 15px;
cursor: pointer;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 15px;
font-weight: 400;
line-height: 20.25px;
letter-spacing: 0.075px;
text-decoration-line: none;
text-align: center;
white-space: nowrap;
transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.c-button-primary:hover {
opacity: 0.85;
}
.c-button-primary:focus {
border: 1px solid #A1A1A1;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
States
- hover: opacity 0.85
- focus: border 1px solid #A1A1A1, box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline none
Button, secondary
Verification: flagged, the render matched 93% of the original pixels, below the 97% required on focus after 2 correction attempts.
Anatomy
button-secondary: the component root, a<a>(.c-button-secondary), 12-character label
Recipe
HTML · CSS
<div class="c-button-secondary-scope">
<a class="c-button-secondary" href="#">lorem ipsum</a>
</div>
.c-button-secondary-scope {
background-color: #F8F8F9;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-button-secondary {
display: inline-flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
border-spacing: 0px;
box-sizing: border-box;
padding: 12px 24px;
background-color: #18181B12;
background-clip: padding-box;
color: #18181B;
border: 1px solid transparent;
border-radius: 15px;
backdrop-filter: blur(8px);
cursor: pointer;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 15px;
font-weight: 400;
line-height: 20.25px;
letter-spacing: 0.075px;
text-decoration-line: none;
text-align: center;
white-space: nowrap;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
}
.c-button-secondary:hover {
background-color: #18181B24;
}
.c-button-secondary:focus {
border: 1px solid #A1A1A1;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
States
- hover (
button-secondary-hover): background-color #18181B24 - focus: border 1px solid #A1A1A1, box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline none
Button, primary (2)
Verification: flagged, the render matched 93% of the original pixels, below the 97% required on focus after 2 correction attempts.
Anatomy
button-primary-2: the component root, a<a>(.c-button-primary-2), 12-character label
Recipe
HTML · CSS
<div class="c-button-primary-2-scope">
<a class="c-button-primary-2" href="#">lorem ipsum</a>
</div>
.c-button-primary-2-scope {
background-color: #F8F8F9;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-button-primary-2 {
display: inline-flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
border-spacing: 0px;
box-sizing: border-box;
padding: 12px 24px;
background-color: #18181B;
background-clip: padding-box;
color: #FFFFFF;
border: 1px solid transparent;
border-radius: 15px;
cursor: pointer;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 15px;
font-weight: 400;
line-height: 20.25px;
letter-spacing: 0.075px;
text-decoration-line: none;
white-space: nowrap;
transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.c-button-primary-2:hover {
opacity: 0.8;
}
.c-button-primary-2:focus {
border: 1px solid #A1A1A1;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
States
- hover: opacity 0.8
- focus: border 1px solid #A1A1A1, box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline none
Button, ghost
Verification: verified against the live page at desktop.
Anatomy
button-ghost: the component root, a<button>(.c-button-ghost)button-ghost-icon: icon placeholder, 16px (.c-button-ghost__icon)
Recipe
HTML · CSS
<div class="c-button-ghost-scope">
<button class="c-button-ghost" type="button">
<span class="c-button-ghost__icon" aria-hidden="true"></span>
</button>
</div>
.c-button-ghost-scope {
background-color: #DCDCE099;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-button-ghost {
display: inline-flex;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
padding: 0px 12px;
background-color: transparent;
color: #18181B;
border: 0;
border-radius: 15px;
cursor: pointer;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
letter-spacing: normal;
text-transform: none;
text-align: center;
appearance: button;
}
.c-button-ghost__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 16px;
height: 16px;
overflow-x: hidden;
overflow-y: hidden;
vertical-align: middle;
background-color: currentcolor;
}
.c-button-ghost:focus {
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #42B5DC4D 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
States
- focus: box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #42B5DC4D 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline none
Cards
Card
Verification: verified against the live page at desktop.
Anatomy
- Group: 4 instances in a 4-column grid, 16px gap; the recipe carries the values they all share
card: the component root, a<div>(.c-card)card-group: inner flex row (.c-card__group)card-icon: icon placeholder, 16px (.c-card__icon)card-title: heading, 15 characters (.c-card__title)card-body: label text, 130 characters (.c-card__body)
Recipe
HTML · CSS
<div class="c-card-scope">
<div class="c-card">
<div class="c-card__group">
<span class="c-card__icon" aria-hidden="true"></span>
</div>
<h3 class="c-card__title">lorem ipsum dol</h3>
<p class="c-card__body">lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor lorem ipsum dolor sit amet consectetur adipiscing eli</p>
</div>
</div>
.c-card-scope {
background-color: #F8F8F9;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-card {
display: inline-flex;
flex-direction: column;
border-spacing: 0px;
box-sizing: border-box;
padding: 32px;
position: relative;
background-color: #FFFFFF;
color: #18181B;
border-radius: 22px;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #0A0A0C0F 0px 4px 20px 0px;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-card__group {
display: flex;
align-items: center;
gap: 6px;
box-sizing: border-box;
}
.c-card__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 16px;
height: 16px;
vertical-align: middle;
background-color: currentcolor;
transform: matrix3d(0.885139, -0.322726, 0.335226, -0.00465592, 0.156074, 0.884582, 0.439495, -0.0061041, -0.438371, -0.336694, 0.833347, -0.0115743, 0, 0, 0, 1);
}
.c-card__title {
display: block;
box-sizing: border-box;
margin: 24px 0px 0px;
font-family: Fraunces, "Fraunces Fallback", Georgia, serif;
font-size: 24.9px;
font-weight: 350;
line-height: 27.39px;
letter-spacing: -0.2px;
}
.c-card__body {
display: block;
flex-grow: 1;
flex-basis: 0%;
box-sizing: border-box;
margin: 12px 0px 0px;
color: #6B6B70;
font-size: 16px;
line-height: 22.4px;
}
States
- No hover or focus change was observed.
Card (2)
Verification: flagged, the render came out 3100 px shorter than the original (instance 1) after 2 correction attempts.
Anatomy
- Group: 5 instances in a 1-column grid; the recipe carries the values they all share
card-2: the component root, a<div>(.c-card-2)card-2-group: inner grid (.c-card-2__group)card-2-group-2: inner block (.c-card-2__group-2)card-2-badge: label text, 4 characters (.c-card-2__badge)card-2-title: heading, 31 characters (.c-card-2__title)card-2-body: label text, 157 characters (.c-card-2__body)card-2-group-3: inner block (.c-card-2__group-3)card-2-group-4: inner block (.c-card-2__group-4)card-2-media: image placeholder, 817x647px (.c-card-2__media)card-2-group-5: inner flex row (.c-card-2__group-5)card-2-group-6: inner block (.c-card-2__group-6), content not captured
Recipe
HTML · CSS
<div class="c-card-2-scope">
<div class="c-card-2">
<div class="c-card-2__group">
<div class="c-card-2__group-2">
<span class="c-card-2__badge">lore</span>
<h3 class="c-card-2__title">lorem ipsum dolor sit amet cons</h3>
<p class="c-card-2__body">lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor lor</p>
</div>
<div class="c-card-2__group-3">
<div class="c-card-2__group-4">
<span class="c-card-2__media" aria-hidden="true"></span>
</div>
<div class="c-card-2__group-5">
<div class="c-card-2__group-6"></div>
</div>
</div>
</div>
</div>
</div>
.c-card-2-scope {
background-color: #F8F8F9;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-card-2 {
display: flex;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-card-2__group {
display: grid;
align-items: center;
gap: 48px;
grid-template-columns: 280px 1fr;
box-sizing: border-box;
width: 100%;
max-width: 1080px;
padding-right: 24px;
padding-left: 24px;
margin-right: auto;
margin-left: auto;
}
.c-card-2__group-2 {
display: block;
box-sizing: border-box;
}
.c-card-2__badge {
display: inline-flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
gap: 8px;
box-sizing: border-box;
width: fit-content;
padding: 4px 12px;
background-color: #EDEDF0;
border-radius: 15px;
font-family: "Space Mono", "Space Mono Fallback", ui-monospace, monospace;
font-size: 13px;
line-height: 18.2px;
letter-spacing: 0.075px;
white-space: nowrap;
}
.c-card-2__title {
display: block;
box-sizing: border-box;
margin: 16px 0px 0px;
font-family: Fraunces, "Fraunces Fallback", Georgia, serif;
font-size: 33px;
font-weight: 350;
line-height: 36.3px;
letter-spacing: -0.33px;
}
.c-card-2__body {
display: block;
box-sizing: border-box;
margin: 16px 0px 0px;
color: #6B6B70;
font-size: 16px;
line-height: 22.4px;
}
.c-card-2__group-3 {
display: block;
box-sizing: border-box;
height: 558px;
position: relative;
overflow-x: hidden;
overflow-y: hidden;
border-radius: 64px;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #0A0A0C0F 0px 4px 20px 0px;
}
.c-card-2__group-4 {
display: block;
box-sizing: border-box;
position: absolute;
top: -8%;
right: -8%;
bottom: -8%;
left: -8%;
transform: matrix(1.06, 0, 0, 1.06, 0, -16.1812);
}
.c-card-2__media {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 817px;
height: 647px;
max-width: 100%;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
overflow-x: clip;
overflow-y: clip;
vertical-align: middle;
background-color: currentcolor;
}
.c-card-2__group-5 {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
padding: 40px;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
}
.c-card-2__group-6 {
display: block;
box-sizing: border-box;
width: 100%;
max-width: 448px;
padding: 12px;
background-color: #FFFFFF;
border-radius: 24px;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #0A0A0C0F 0px 4px 20px 0px;
}
.c-card-2:focus {
z-index: 5;
transform: matrix(1, 0, 0, 1, 0, 0);
}
States
- focus: z-index 5, transform matrix(1, 0, 0, 1, 0, 0)
Card (3)
Verification: verified against the live page at desktop.
Anatomy
- Group: 3 instances in a 3-column grid, 16px gap; the recipe carries the values they all share
card-3: the component root, a<article>(.c-card-3)card-3-button: button (.c-card-3__button)card-3-icon: icon placeholder, 192px (.c-card-3__icon)card-3-group: inner block (.c-card-3__group)card-3-group-2: inner flex row (.c-card-3__group-2)card-3-text: label text, 15 characters (.c-card-3__text)card-3-text-2: label text, 12 characters (.c-card-3__text-2)card-3-title: heading, 0 characters (.c-card-3__title)card-3-text-3: label text, 0 characters (.c-card-3__text-3)card-3-text-4: label text, 7 characters (.c-card-3__text-4, 3 instances)card-3-group-3: inner flex row (.c-card-3__group-3)card-3-group-4: inner flex row (.c-card-3__group-4, 8 instances), content not capturedcard-3-body: label text, 92 characters (.c-card-3__body)
Recipe
HTML · CSS
<div class="c-card-3-scope">
<article class="c-card-3">
<button class="c-card-3__button" type="button">
<span class="c-card-3__icon" aria-hidden="true"></span>
</button>
<div class="c-card-3__group">
<div class="c-card-3__group-2">
<span class="c-card-3__text">lorem ipsum dol</span>
<span class="c-card-3__text-2">lorem ipsum</span>
</div>
<h2 class="c-card-3__title">
<span class="c-card-3__text-3">
<span class="c-card-3__text-4">lorem i</span>
<span class="c-card-3__text-4">lorem ipsum dol</span>
<span class="c-card-3__text-4">lorem i</span>
</span>
<span class="c-card-3__group-3">
<span class="c-card-3__group-4"></span>
<span class="c-card-3__group-4"></span>
<span class="c-card-3__group-4"></span>
<span class="c-card-3__group-4"></span>
<span class="c-card-3__group-4"></span>
<span class="c-card-3__group-4"></span>
<span class="c-card-3__group-4"></span>
<span class="c-card-3__group-4"></span>
</span>
</h2>
<p class="c-card-3__body">lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor lorem ipsum dol</p>
</div>
</article>
</div>
.c-card-3-scope {
background-color: #F8F8F9;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-card-3 {
display: inline-flex;
flex-direction: column;
border-spacing: 0px;
box-sizing: border-box;
padding: 12px;
background-color: #FFFFFF;
color: #18181B;
border-radius: 22px;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #0A0A0C0F 0px 4px 20px 0px;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-card-3__button {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
aspect-ratio: 1 / 1;
padding: 0px;
position: relative;
background-color: #EDEDF0;
color: #18181B;
border: 0;
border-radius: 16px;
cursor: pointer;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
letter-spacing: normal;
text-transform: none;
text-align: center;
appearance: button;
}
.c-card-3__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 192px;
height: 192px;
vertical-align: middle;
background-color: currentcolor;
}
.c-card-3__group {
display: block;
box-sizing: border-box;
padding: 20px 12px 12px;
}
.c-card-3__group-2 {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
gap: 8px 12px;
box-sizing: border-box;
}
.c-card-3__text {
display: flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
gap: 8px;
box-sizing: border-box;
width: fit-content;
padding: 4px 12px;
background-color: #EDEDF0;
border-radius: 15px;
font-family: "Space Mono", "Space Mono Fallback", ui-monospace, monospace;
font-size: 13px;
line-height: 18.2px;
letter-spacing: 0.075px;
white-space: nowrap;
}
.c-card-3__text-2 {
display: block;
box-sizing: border-box;
color: #6B6B70;
font-family: "Space Mono", "Space Mono Fallback", ui-monospace, monospace;
font-size: 13px;
line-height: 18.2px;
letter-spacing: 0.075px;
white-space: nowrap;
}
.c-card-3__title {
display: block;
box-sizing: border-box;
margin: 16px 0px 0px;
font-size: 17px;
font-weight: 400;
}
.c-card-3__text-3 {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
margin: -1px;
position: absolute;
overflow-x: hidden;
overflow-y: hidden;
white-space: nowrap;
}
.c-card-3__group-3 {
display: flex;
gap: 4px;
box-sizing: border-box;
}
.c-card-3__group-4 {
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 28px;
height: 38px;
position: relative;
overflow-x: hidden;
overflow-y: hidden;
background-color: #EDEDF0;
border-radius: 7px;
font-family: "Space Mono", "Space Mono Fallback", ui-monospace, monospace;
font-size: 19px;
line-height: 26.6px;
}
.c-card-3__body {
display: block;
box-sizing: border-box;
margin: 12px 0px 0px;
color: #6B6B70;
font-size: 15px;
line-height: 22.5px;
}
States
- No hover or focus change was observed.
Navigation
Verification: verified against the live page at desktop.
Anatomy
navigation: the component root, a<nav>(.c-navigation)navigation-group: inner block (.c-navigation__group)navigation-group-2: inner flex row (.c-navigation__group-2)navigation-link: link (.c-navigation__link)navigation-icon: icon placeholder, 22px (.c-navigation__icon)navigation-link-2: link, 4-character label (.c-navigation__link-2, 3 instances)navigation-group-3: inner flex row (.c-navigation__group-3)navigation-button: button (.c-navigation__button), content not captured
Recipe
HTML · CSS
<div class="c-navigation-scope">
<nav class="c-navigation">
<div class="c-navigation__group">
<div class="c-navigation__group-2">
<a class="c-navigation__link" href="#">
<span class="c-navigation__icon" aria-hidden="true"></span>
</a>
<a class="c-navigation__link-2" href="#">lore</a>
<a class="c-navigation__link-2" href="#">lore</a>
<a class="c-navigation__link-2" href="#">lorem i</a>
<div class="c-navigation__group-3">
<button class="c-navigation__button" type="button"></button>
</div>
</div>
</div>
</nav>
</div>
.c-navigation-scope {
background-color: #F8F8F9;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-navigation {
display: flex;
justify-content: center;
border-spacing: 0px;
box-sizing: border-box;
position: fixed;
top: 16px;
right: 0px;
left: 0px;
z-index: 20;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
padding-right: 24px;
padding-left: 24px;
}
.c-navigation__group {
display: block;
box-sizing: border-box;
padding: 8px;
background-color: #DCDCE099;
border-radius: 22px;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #0A0A0C0F 0px 4px 20px 0px;
backdrop-filter: blur(24px) saturate(1.5);
}
.c-navigation__group-2 {
display: flex;
gap: 2px;
box-sizing: border-box;
position: relative;
}
.c-navigation__link {
display: flex;
align-items: center;
box-sizing: border-box;
padding: 10px 16px;
position: relative;
z-index: 2;
color: #18181B;
border-radius: 15px;
cursor: pointer;
font-family: "Space Grotesk", "Space Grotesk Fallback", system-ui, sans-serif;
font-size: 16px;
font-weight: 500;
line-height: 22.4px;
letter-spacing: -0.4px;
text-decoration-line: none;
}
.c-navigation__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 22px;
height: 22px;
vertical-align: middle;
background-color: currentcolor;
transform: matrix3d(0.913545, -0.139112, 0.382207, -0.00159253, 0, 0.939693, 0.34202, -0.00142508, -0.406737, -0.312451, 0.858452, -0.00357688, 0, 0, 0, 1);
transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.c-navigation__link-2 {
display: flex;
align-items: center;
box-sizing: border-box;
padding: 10px 16px;
position: relative;
z-index: 2;
color: #18181B;
border-radius: 15px;
cursor: pointer;
font-size: 15px;
line-height: 21px;
letter-spacing: 0.075px;
text-decoration-line: none;
}
.c-navigation__group-3 {
display: flex;
box-sizing: border-box;
position: relative;
z-index: 2;
}
.c-navigation__button {
display: flex;
align-items: center;
box-sizing: border-box;
height: 100%;
padding: 0px 12px;
background-color: transparent;
color: #18181B;
border: 0;
border-radius: 15px;
cursor: pointer;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
letter-spacing: normal;
text-transform: none;
text-align: center;
appearance: button;
}
States
- No hover or focus change was observed.
Theme toggle
Verification: verified against the live page at desktop.
Anatomy
theme-toggle: the component root, a<button>(.c-theme-toggle)theme-toggle-icon: icon placeholder, 16px (.c-theme-toggle__icon)
Recipe
HTML · CSS
<div class="c-theme-toggle-scope">
<button class="c-theme-toggle" type="button">
<span class="c-theme-toggle__icon" aria-hidden="true"></span>
</button>
</div>
.c-theme-toggle-scope {
background-color: #DCDCE099;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-theme-toggle {
display: inline-flex;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
padding: 0px 12px;
background-color: transparent;
color: #18181B;
border: 0;
border-radius: 15px;
cursor: pointer;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
letter-spacing: normal;
text-transform: none;
text-align: center;
appearance: button;
}
.c-theme-toggle__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 16px;
height: 16px;
overflow-x: hidden;
overflow-y: hidden;
vertical-align: middle;
background-color: currentcolor;
}
.c-theme-toggle:focus {
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #42B5DC4D 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
States
- focus: box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #42B5DC4D 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline none
Headers
Header (landing)
Verification: desktop flagged, the render came out 1268 px shorter and 16 px wider than the original after 2 correction attempts; mobile flagged, the header-landing-mobile-group-4 y did not reproduce the measured 220px after 2 correction attempts.
Variant observed on https://www.magentix.studio.
Anatomy
header-landing: the component root, a<header>(.c-header-landing)header-landing-group: inner block (.c-header-landing__group)header-landing-group-2: inner block (.c-header-landing__group-2)header-landing-group-3: inner flex column (.c-header-landing__group-3)header-landing-logo: heading, 43 characters (.c-header-landing__logo)header-landing-group-4: inner grid (.c-header-landing__group-4)header-landing-group-5: inner flex column (.c-header-landing__group-5)header-landing-inner: inner block (.c-header-landing__inner)header-landing-text: label text, 17 characters (.c-header-landing__text)header-landing-text-2: label text, 11 characters (.c-header-landing__text-2)header-landing-inner-2: label text, 113 characters (.c-header-landing__inner-2)header-landing-group-6: inner flex row (.c-header-landing__group-6)header-landing-cta: thebutton-primarybutton, 12-character label (.c-header-landing__cta)header-landing-cta-2: thebutton-secondarybutton, 12-character label (.c-header-landing__cta-2)header-landing-group-7: inner block (.c-header-landing__group-7)header-landing-group-8: inner block (.c-header-landing__group-8)header-landing-icon: icon placeholder, 1350x341px (.c-header-landing__icon)
Desktop recipe
HTML · CSS
<div class="c-header-landing-scope">
<header class="c-header-landing">
<div class="c-header-landing__group">
<div class="c-header-landing__group-2"></div>
<div class="c-header-landing__group-3">
<h1 class="c-header-landing__logo">lorem ipsum dolor sit amet consectetur adip</h1>
<div class="c-header-landing__group-4">
<div class="c-header-landing__group-5">
<div class="c-header-landing__inner">
<span class="c-header-landing__text">lorem ipsum dolor</span>
<em class="c-header-landing__text-2">lorem ipsum</em>
</div>
<p class="c-header-landing__inner-2">lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor lorem ipsum dolor sit amet consectet</p>
</div>
</div>
<div class="c-header-landing__group-6">
<a class="c-header-landing__cta" href="#">lorem ipsum</a>
<a class="c-header-landing__cta-2" href="#">lorem ipsum</a>
</div>
</div>
<div class="c-header-landing__group-7">
<div class="c-header-landing__group-8">
<span class="c-header-landing__icon" aria-hidden="true"></span>
</div>
</div>
</div>
</header>
</div>
.c-header-landing-scope {
background-color: #F8F8F9;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-header-landing {
display: block;
border-spacing: 0px;
box-sizing: border-box;
height: 2700px;
position: relative;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-header-landing__group {
display: block;
box-sizing: border-box;
height: 900px;
min-height: 560px;
position: sticky;
top: 0px;
overflow-x: hidden;
overflow-y: hidden;
}
.c-header-landing__group-2 {
display: block;
box-sizing: border-box;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
background-color: #F8F8F9;
}
.c-header-landing__group-3 {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
box-sizing: border-box;
position: absolute;
top: 0px;
right: 0px;
bottom: 303.75px;
left: 0px;
z-index: 10;
text-align: center;
padding-top: 80px;
padding-right: 24px;
padding-left: 24px;
}
.c-header-landing__logo {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
margin: -1px;
position: absolute;
overflow-x: hidden;
overflow-y: hidden;
font-size: 17px;
font-weight: 400;
white-space: nowrap;
}
.c-header-landing__group-4 {
display: grid;
box-sizing: border-box;
}
.c-header-landing__group-5 {
display: flex;
flex-direction: column;
align-items: center;
box-sizing: border-box;
transition: all 0.5s cubic-bezier(0, 0, 0.2, 1);
}
.c-header-landing__inner {
display: block;
box-sizing: border-box;
max-width: 702.089px;
font-family: Fraunces, "Fraunces Fallback", Georgia, serif;
font-size: 72px;
font-weight: 350;
line-height: 79.2px;
letter-spacing: -1.3px;
margin-right: auto;
margin-left: auto;
}
.c-header-landing__text-2 {
display: inline;
box-sizing: border-box;
font-style: italic;
}
.c-header-landing__inner-2 {
display: block;
box-sizing: border-box;
max-width: 430.08px;
margin: 24px auto 0px;
color: #18181BB3;
font-size: 19.2px;
line-height: 24.96px;
letter-spacing: 0.096px;
}
.c-header-landing__group-6 {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 12px;
box-sizing: border-box;
margin-top: 32px;
}
.c-header-landing__cta {
display: flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
box-sizing: border-box;
padding: 12px 24px;
background-color: #18181B;
background-clip: padding-box;
color: #FFFFFF;
border: 1px solid transparent;
border-radius: 15px;
cursor: pointer;
font-size: 15px;
line-height: 20.25px;
letter-spacing: 0.075px;
text-decoration-line: none;
white-space: nowrap;
transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.c-header-landing__cta-2 {
display: flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
box-sizing: border-box;
padding: 12px 24px;
background-color: #18181B12;
background-clip: padding-box;
color: #18181B;
border: 1px solid transparent;
border-radius: 15px;
backdrop-filter: blur(8px);
cursor: pointer;
font-size: 15px;
line-height: 20.25px;
letter-spacing: 0.075px;
text-decoration-line: none;
white-space: nowrap;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
}
.c-header-landing__group-7 {
display: block;
box-sizing: border-box;
width: 1350px;
position: absolute;
bottom: 0px;
left: 50%;
overflow-x: hidden;
overflow-y: hidden;
}
.c-header-landing__group-8 {
display: block;
box-sizing: border-box;
width: 1350px;
position: relative;
left: 50%;
}
.c-header-landing__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 1350px;
height: 341px;
overflow-x: hidden;
overflow-y: hidden;
vertical-align: middle;
background-color: currentcolor;
}
.c-header-landing__cta:hover {
opacity: 0.85;
}
.c-header-landing__cta:focus {
border: 1px solid #A1A1A1;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
.c-header-landing__cta-2:hover {
background-color: #18181B24;
}
.c-header-landing__cta-2:focus {
border: 1px solid #A1A1A1;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
Mobile anatomy
header-landing-mobile: the component root, a<header>(.c-header-landing-mobile)header-landing-mobile-group: inner block (.c-header-landing-mobile__group)header-landing-mobile-group-2: inner block (.c-header-landing-mobile__group-2)header-landing-mobile-group-3: inner flex column (.c-header-landing-mobile__group-3)header-landing-mobile-logo: heading, 43 characters (.c-header-landing-mobile__logo)header-landing-mobile-group-4: inner grid (.c-header-landing-mobile__group-4)header-landing-mobile-group-5: inner flex column (.c-header-landing-mobile__group-5)header-landing-mobile-inner: inner block (.c-header-landing-mobile__inner)header-landing-mobile-text: label text, 17 characters (.c-header-landing-mobile__text)header-landing-mobile-text-2: label text, 11 characters (.c-header-landing-mobile__text-2)header-landing-mobile-inner-2: label text, 113 characters (.c-header-landing-mobile__inner-2)header-landing-mobile-group-6: inner flex row (.c-header-landing-mobile__group-6)header-landing-mobile-cta: link, 12-character label (.c-header-landing-mobile__cta)header-landing-mobile-cta-2: link, 12-character label (.c-header-landing-mobile__cta-2)header-landing-mobile-group-7: inner block (.c-header-landing-mobile__group-7)header-landing-mobile-group-8: inner block (.c-header-landing-mobile__group-8)header-landing-mobile-icon: icon placeholder, 900x227px (.c-header-landing-mobile__icon)
Mobile recipe
HTML · CSS
<div class="c-header-landing-mobile-scope">
<header class="c-header-landing-mobile">
<div class="c-header-landing-mobile__group">
<div class="c-header-landing-mobile__group-2"></div>
<div class="c-header-landing-mobile__group-3">
<h1 class="c-header-landing-mobile__logo">lorem ipsum dolor sit amet consectetur adip</h1>
<div class="c-header-landing-mobile__group-4">
<div class="c-header-landing-mobile__group-5">
<div class="c-header-landing-mobile__inner">
<span class="c-header-landing-mobile__text">lorem ipsum dolor</span>
<em class="c-header-landing-mobile__text-2">lorem ipsum</em>
</div>
<p class="c-header-landing-mobile__inner-2">lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor lorem ipsum dolor sit amet consectet</p>
</div>
</div>
<div class="c-header-landing-mobile__group-6">
<a class="c-header-landing-mobile__cta" href="#">lorem ipsum</a>
<a class="c-header-landing-mobile__cta-2" href="#">lorem ipsum</a>
</div>
</div>
<div class="c-header-landing-mobile__group-7">
<div class="c-header-landing-mobile__group-8">
<span class="c-header-landing-mobile__icon" aria-hidden="true"></span>
</div>
</div>
</div>
</header>
</div>
.c-header-landing-mobile-scope {
background-color: #F8F8F9;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-header-landing-mobile {
display: block;
border-spacing: 0px;
box-sizing: border-box;
height: 2532px;
position: relative;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-header-landing-mobile__group {
display: block;
box-sizing: border-box;
height: 844px;
min-height: 560px;
position: sticky;
top: 0px;
overflow-x: hidden;
overflow-y: hidden;
}
.c-header-landing-mobile__group-2 {
display: block;
box-sizing: border-box;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
background-color: #F8F8F9;
}
.c-header-landing-mobile__group-3 {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
box-sizing: border-box;
position: absolute;
top: 0px;
right: 0px;
bottom: 202.5px;
left: 0px;
z-index: 10;
text-align: center;
padding-top: 80px;
padding-right: 24px;
padding-left: 24px;
}
.c-header-landing-mobile__logo {
display: block;
box-sizing: border-box;
width: 1px;
height: 1px;
margin: -1px;
position: absolute;
overflow-x: hidden;
overflow-y: hidden;
font-size: 17px;
font-weight: 400;
white-space: nowrap;
}
.c-header-landing-mobile__group-4 {
display: grid;
box-sizing: border-box;
}
.c-header-landing-mobile__group-5 {
display: flex;
flex-direction: column;
align-items: center;
box-sizing: border-box;
transition: all 0.5s cubic-bezier(0, 0, 0.2, 1);
}
.c-header-landing-mobile__inner {
display: block;
box-sizing: border-box;
max-width: 361.963px;
font-family: Fraunces, "Fraunces Fallback", Georgia, serif;
font-size: 36px;
font-weight: 350;
line-height: 39.6px;
letter-spacing: -1.3px;
margin-right: auto;
margin-left: auto;
}
.c-header-landing-mobile__text-2 {
display: inline;
box-sizing: border-box;
font-style: italic;
}
.c-header-landing-mobile__inner-2 {
display: block;
box-sizing: border-box;
max-width: 430.08px;
margin: 24px auto 0px;
color: #18181BB3;
font-size: 19.2px;
line-height: 24.96px;
letter-spacing: 0.096px;
}
.c-header-landing-mobile__group-6 {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 12px;
box-sizing: border-box;
margin-top: 32px;
}
.c-header-landing-mobile__cta {
display: flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
box-sizing: border-box;
padding: 12px 24px;
background-color: #18181B;
background-clip: padding-box;
color: #FFFFFF;
border: 1px solid transparent;
border-radius: 15px;
cursor: pointer;
font-size: 15px;
line-height: 20.25px;
letter-spacing: 0.075px;
text-decoration-line: none;
white-space: nowrap;
transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.c-header-landing-mobile__cta-2 {
display: flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
box-sizing: border-box;
padding: 12px 24px;
background-color: #18181B12;
background-clip: padding-box;
color: #18181B;
border: 1px solid transparent;
border-radius: 15px;
backdrop-filter: blur(8px);
cursor: pointer;
font-size: 15px;
line-height: 20.25px;
letter-spacing: 0.075px;
text-decoration-line: none;
white-space: nowrap;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
}
.c-header-landing-mobile__group-7 {
display: block;
box-sizing: border-box;
width: 390px;
position: absolute;
bottom: 0px;
left: 50%;
overflow-x: hidden;
overflow-y: hidden;
}
.c-header-landing-mobile__group-8 {
display: block;
box-sizing: border-box;
width: 900px;
position: relative;
left: 50%;
}
.c-header-landing-mobile__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 900px;
height: 227px;
overflow-x: hidden;
overflow-y: hidden;
vertical-align: middle;
background-color: currentcolor;
}
.c-header-landing-mobile__cta:hover {
opacity: 0.85;
}
.c-header-landing-mobile__cta:focus {
border: 1px solid #A1A1A1;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
.c-header-landing-mobile__cta-2:hover {
background-color: #18181B24;
}
.c-header-landing-mobile__cta-2:focus {
border: 1px solid #A1A1A1;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
States
header-landing-ctahover: opacity 0.85header-landing-ctafocus: border 1px solid #A1A1A1, box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline noneheader-landing-cta-2hover (header-landing-cta-2-hover): background-color #18181B24header-landing-cta-2focus: border 1px solid #A1A1A1, box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline none- mobile,
header-landing-mobile-ctahover: opacity 0.85 - mobile,
header-landing-mobile-ctafocus: border 1px solid #A1A1A1, box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline none - mobile,
header-landing-mobile-cta-2hover (header-landing-mobile-cta-2-hover): background-color #18181B24 - mobile,
header-landing-mobile-cta-2focus: border 1px solid #A1A1A1, box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline none
Header (inner)
Verification: desktop verified against the live page at desktop; mobile verified against the live page at mobile.
Variant observed on https://www.magentix.studio/work.
Anatomy
header-inner: the component root, a<nav>(.c-header-inner)header-inner-group: inner block (.c-header-inner__group)header-inner-group-2: inner flex row (.c-header-inner__group-2)header-inner-group-3: inner group (.c-header-inner__group-3)header-inner-logo: link (.c-header-inner__logo)header-inner-logo-icon: icon placeholder, 22px (.c-header-inner__logo-icon)header-inner-inner: inner group (.c-header-inner__inner)header-inner-logo-text: label text, 8 characters (.c-header-inner__logo-text)header-inner-logo-text-2: label text, 6 characters (.c-header-inner__logo-text-2)header-inner-link: link, 4-character label (.c-header-inner__link, 3 instances)header-inner-group-4: inner flex row (.c-header-inner__group-4)header-inner-cta: thebutton-ghostbutton (.c-header-inner__cta)header-inner-cta-icon: icon placeholder, 16px (.c-header-inner__cta-icon)
Desktop recipe
HTML · CSS
<div class="c-header-inner-scope">
<nav class="c-header-inner">
<div class="c-header-inner__group">
<div class="c-header-inner__group-2">
<span class="c-header-inner__group-3"></span>
<a class="c-header-inner__logo" href="#">
<span class="c-header-inner__logo-icon" aria-hidden="true"></span>
<span class="c-header-inner__inner">
<span class="c-header-inner__logo-text">lorem ip</span>
<span class="c-header-inner__logo-text-2">lorem</span>
</span>
</a>
<a class="c-header-inner__link" href="#">lore</a>
<a class="c-header-inner__link" href="#">lore</a>
<a class="c-header-inner__link" href="#">lorem i</a>
<div class="c-header-inner__group-4">
<button class="c-header-inner__cta" type="button">
<span class="c-header-inner__cta-icon" aria-hidden="true"></span>
</button>
</div>
</div>
</div>
</nav>
</div>
.c-header-inner-scope {
background-color: #F8F8F9;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-header-inner {
display: flex;
justify-content: center;
border-spacing: 0px;
box-sizing: border-box;
position: fixed;
top: 16px;
right: 0px;
left: 0px;
z-index: 20;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
padding-right: 24px;
padding-left: 24px;
}
.c-header-inner__group {
display: block;
box-sizing: border-box;
padding: 8px;
background-color: #DCDCE099;
border-radius: 22px;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #0A0A0C0F 0px 4px 20px 0px;
backdrop-filter: blur(24px) saturate(1.5);
}
.c-header-inner__group-2 {
display: flex;
gap: 2px;
box-sizing: border-box;
position: relative;
}
.c-header-inner__group-3 {
display: block;
box-sizing: border-box;
width: 69px;
position: absolute;
top: 0px;
bottom: 0px;
left: 188px;
z-index: 1;
background-color: #FFFFFF;
border-radius: 15px;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #00000014 0px 0.98px 11.74px 0px;
}
.c-header-inner__logo {
display: flex;
align-items: center;
box-sizing: border-box;
padding: 10px 16px;
position: relative;
z-index: 2;
color: #18181B;
border-radius: 15px;
cursor: pointer;
font-family: "Space Grotesk", "Space Grotesk Fallback", system-ui, sans-serif;
font-size: 16px;
font-weight: 500;
line-height: 22.4px;
letter-spacing: -0.4px;
text-decoration-line: none;
}
.c-header-inner__logo-icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 22px;
height: 22px;
vertical-align: middle;
background-color: currentcolor;
transform: matrix3d(0.913545, -0.139112, 0.382207, -0.00159253, 0, 0.939693, 0.34202, -0.00142508, -0.406737, -0.312451, 0.858452, -0.00357688, 0, 0, 0, 1);
transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.c-header-inner__inner {
display: block;
box-sizing: border-box;
max-width: 180px;
overflow-x: hidden;
overflow-y: hidden;
white-space: nowrap;
margin-left: 10px;
transition-duration: 0.5s;
transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
transition-property: max-width, opacity, margin-left;
}
.c-header-inner__logo-text-2 {
display: inline;
box-sizing: border-box;
color: #6B6B70;
}
.c-header-inner__link {
display: flex;
align-items: center;
box-sizing: border-box;
padding: 10px 16px;
position: relative;
z-index: 2;
color: #18181B;
border-radius: 15px;
cursor: pointer;
font-size: 15px;
line-height: 21px;
letter-spacing: 0.075px;
text-decoration-line: none;
}
.c-header-inner__group-4 {
display: flex;
box-sizing: border-box;
position: relative;
z-index: 2;
}
.c-header-inner__cta {
display: flex;
align-items: center;
box-sizing: border-box;
height: 100%;
padding: 0px 12px;
background-color: transparent;
color: #18181B;
border: 0;
border-radius: 15px;
cursor: pointer;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
letter-spacing: normal;
text-transform: none;
text-align: center;
appearance: button;
}
.c-header-inner__cta-icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 16px;
height: 16px;
overflow-x: hidden;
overflow-y: hidden;
vertical-align: middle;
background-color: currentcolor;
}
.c-header-inner__logo:focus {
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #42B5DC4D 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
.c-header-inner__link:focus {
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #42B5DC4D 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
.c-header-inner__cta:focus {
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #42B5DC4D 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
Mobile anatomy
header-inner-mobile: the component root, a<nav>(.c-header-inner-mobile)header-inner-mobile-group: inner block (.c-header-inner-mobile__group)header-inner-mobile-group-2: inner flex row (.c-header-inner-mobile__group-2)header-inner-mobile-logo: link (.c-header-inner-mobile__logo)header-inner-mobile-logo-icon: icon placeholder, 22px (.c-header-inner-mobile__logo-icon)header-inner-mobile-inner: inner group (.c-header-inner-mobile__inner)header-inner-mobile-logo-text: label text, 8 characters (.c-header-inner-mobile__logo-text)header-inner-mobile-logo-text-2: label text, 6 characters (.c-header-inner-mobile__logo-text-2)header-inner-mobile-menu-toggle: button (.c-header-inner-mobile__menu-toggle)header-inner-mobile-group-3: inner group (.c-header-inner-mobile__group-3)header-inner-mobile-group-4: inner group (.c-header-inner-mobile__group-4)header-inner-mobile-group-5: inner group (.c-header-inner-mobile__group-5)
Mobile recipe
HTML · CSS
<div class="c-header-inner-mobile-scope">
<nav class="c-header-inner-mobile">
<div class="c-header-inner-mobile__group">
<div class="c-header-inner-mobile__group-2">
<a class="c-header-inner-mobile__logo" href="#">
<span class="c-header-inner-mobile__logo-icon" aria-hidden="true"></span>
<span class="c-header-inner-mobile__inner">
<span class="c-header-inner-mobile__logo-text">lorem ip</span>
<span class="c-header-inner-mobile__logo-text-2">lorem</span>
</span>
</a>
<button class="c-header-inner-mobile__menu-toggle" type="button">
<span class="c-header-inner-mobile__group-3">
<span class="c-header-inner-mobile__group-4"></span>
<span class="c-header-inner-mobile__group-5"></span>
</span>
</button>
</div>
</div>
</nav>
</div>
.c-header-inner-mobile-scope {
background-color: #F8F8F9;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-header-inner-mobile {
display: flex;
justify-content: center;
border-spacing: 0px;
box-sizing: border-box;
position: fixed;
top: 16px;
right: 0px;
left: 0px;
z-index: 20;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
padding-right: 24px;
padding-left: 24px;
}
.c-header-inner-mobile__group {
display: block;
box-sizing: border-box;
width: 100%;
padding: 8px;
background-color: #DCDCE099;
border-radius: 22px;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #0A0A0C0F 0px 4px 20px 0px;
backdrop-filter: blur(24px) saturate(1.5);
}
.c-header-inner-mobile__group-2 {
display: flex;
justify-content: space-between;
gap: 2px;
box-sizing: border-box;
position: relative;
}
.c-header-inner-mobile__logo {
display: flex;
align-items: center;
box-sizing: border-box;
padding: 10px 16px;
position: relative;
z-index: 2;
color: #18181B;
border-radius: 15px;
cursor: pointer;
font-family: "Space Grotesk", "Space Grotesk Fallback", system-ui, sans-serif;
font-size: 16px;
font-weight: 500;
line-height: 22.4px;
letter-spacing: -0.4px;
text-decoration-line: none;
}
.c-header-inner-mobile__logo-icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 22px;
height: 22px;
vertical-align: middle;
background-color: currentcolor;
transform: matrix3d(0.913545, -0.139112, 0.382207, -0.00159253, 0, 0.939693, 0.34202, -0.00142508, -0.406737, -0.312451, 0.858452, -0.00357688, 0, 0, 0, 1);
transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.c-header-inner-mobile__inner {
display: block;
box-sizing: border-box;
max-width: 180px;
overflow-x: hidden;
overflow-y: hidden;
white-space: nowrap;
margin-left: 10px;
transition-duration: 0.5s;
transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
transition-property: max-width, opacity, margin-left;
}
.c-header-inner-mobile__logo-text-2 {
display: inline;
box-sizing: border-box;
color: #6B6B70;
}
.c-header-inner-mobile__menu-toggle {
display: flex;
align-items: center;
box-sizing: border-box;
padding: 10px 16px;
position: relative;
z-index: 2;
background-color: transparent;
color: #18181B;
border: 0;
border-radius: 15px;
cursor: pointer;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 15px;
font-weight: 400;
line-height: 21px;
letter-spacing: 0.075px;
text-transform: none;
text-align: center;
appearance: button;
}
.c-header-inner-mobile__group-3 {
display: block;
box-sizing: border-box;
width: 16px;
height: 14px;
position: relative;
}
.c-header-inner-mobile__group-4 {
display: block;
box-sizing: border-box;
width: 100%;
height: 1.6px;
position: absolute;
top: 3px;
left: 0px;
background-color: #18181B;
border-radius: 3.35544e+07px;
transition-duration: 0.3s;
transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
transition-property: transform, translate, scale, rotate;
}
.c-header-inner-mobile__group-5 {
display: block;
box-sizing: border-box;
width: 100%;
height: 1.6px;
position: absolute;
bottom: 3px;
left: 0px;
background-color: #18181B;
border-radius: 3.35544e+07px;
transition-duration: 0.3s;
transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
transition-property: transform, translate, scale, rotate;
}
.c-header-inner-mobile__logo:focus {
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #42B5DC4D 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
.c-header-inner-mobile__menu-toggle:focus {
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #42B5DC4D 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
States
header-inner-logofocus: box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #42B5DC4D 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline noneheader-inner-linkfocus: box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #42B5DC4D 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline noneheader-inner-ctafocus: box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #42B5DC4D 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline none- mobile,
header-inner-mobile-logofocus: box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #42B5DC4D 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline none - mobile,
header-inner-mobile-menu-togglefocus: box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #42B5DC4D 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline none
Footers
Footer (landing)
Verification: desktop verified against the live page at desktop; mobile verified against the live page at mobile.
Variant observed on https://www.magentix.studio.
Anatomy
footer-landing: the component root, a<footer>(.c-footer-landing)footer-landing-columns: inner grid (.c-footer-landing__columns)footer-landing-column: inner block (.c-footer-landing__column)footer-landing-inner: label text, 57 characters (.c-footer-landing__inner)footer-landing-link: link, 12-character label (.c-footer-landing__link)footer-landing-column-2: inner grid (.c-footer-landing__column-2)footer-landing-group: inner block (.c-footer-landing__group, 3 instances)footer-landing-text: label text, 5 characters (.c-footer-landing__text, 3 instances)footer-landing-list: inner group (.c-footer-landing__list, 3 instances)footer-landing-item: inner group (.c-footer-landing__item, 6 instances)footer-landing-link-2: link, 4-character label (.c-footer-landing__link-2, 9 instances)footer-landing-item-2: inner group (.c-footer-landing__item-2, 3 instances)footer-landing-group-2: inner block (.c-footer-landing__group-2)footer-landing-logo: icon placeholder, 28px (.c-footer-landing__logo)footer-landing-text-2: label text, 44 characters (.c-footer-landing__text-2)
Desktop recipe
HTML · CSS
<div class="c-footer-landing-scope">
<footer class="c-footer-landing">
<div class="c-footer-landing__columns">
<div class="c-footer-landing__column">
<p class="c-footer-landing__inner">lorem ipsum dolor sit amet consectetur adipiscing elit se</p>
<a class="c-footer-landing__link" href="#">lorem ipsum</a>
</div>
<div class="c-footer-landing__column-2">
<div class="c-footer-landing__group">
<div class="c-footer-landing__text">lorem</div>
<ul class="c-footer-landing__list">
<li class="c-footer-landing__item">
<a class="c-footer-landing__link-2" href="#">lore</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link-2" href="#">lore</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link-2" href="#">lorem i</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link-2" href="#">lorem i</a>
</li>
<li class="c-footer-landing__item-2">
<a class="c-footer-landing__link-2" href="#">lorem i</a>
</li>
</ul>
</div>
<div class="c-footer-landing__group">
<div class="c-footer-landing__text">lorem i</div>
<ul class="c-footer-landing__list">
<li class="c-footer-landing__item">
<a class="c-footer-landing__link-2" href="#">l</a>
</li>
<li class="c-footer-landing__item">
<a class="c-footer-landing__link-2" href="#">lorem ip</a>
</li>
<li class="c-footer-landing__item-2">
<a class="c-footer-landing__link-2" href="#">lorem</a>
</li>
</ul>
</div>
<div class="c-footer-landing__group">
<div class="c-footer-landing__text">lorem ip</div>
<ul class="c-footer-landing__list">
<li class="c-footer-landing__item-2">
<a class="c-footer-landing__link-2" href="#">lorem ipsum dolor sit a</a>
</li>
</ul>
</div>
</div>
</div>
<div class="c-footer-landing__group-2">
<span class="c-footer-landing__logo" aria-hidden="true"></span>
<p class="c-footer-landing__text-2">lorem ipsum dolor sit amet consectetur adipi</p>
</div>
</footer>
</div>
.c-footer-landing-scope {
background-color: #F8F8F9;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-footer-landing {
display: block;
border-spacing: 0px;
box-sizing: border-box;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-footer-landing__columns {
display: grid;
gap: 80px;
grid-template-columns: 1fr auto;
box-sizing: border-box;
width: 100%;
max-width: 1080px;
padding-right: 24px;
padding-bottom: 96px;
padding-left: 24px;
margin-right: auto;
margin-left: auto;
}
.c-footer-landing__column {
display: block;
box-sizing: border-box;
}
.c-footer-landing__inner {
display: block;
box-sizing: border-box;
max-width: 421.05px;
margin: 0px;
font-family: Fraunces, "Fraunces Fallback", Georgia, serif;
font-size: 42px;
font-weight: 350;
line-height: 46.2px;
letter-spacing: -0.58px;
}
.c-footer-landing__link {
display: inline-flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
box-sizing: border-box;
padding: 12px 24px;
background-color: #18181B;
background-clip: padding-box;
color: #FFFFFF;
border: 1px solid transparent;
border-radius: 15px;
cursor: pointer;
font-size: 15px;
line-height: 20.25px;
letter-spacing: 0.075px;
text-decoration-line: none;
white-space: nowrap;
transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
margin-top: 32px;
}
.c-footer-landing__column-2 {
display: grid;
gap: 40px 56px;
grid-template-columns: repeat(3, minmax(0px, 1fr));
box-sizing: border-box;
}
.c-footer-landing__group {
display: block;
box-sizing: border-box;
}
.c-footer-landing__text {
display: block;
box-sizing: border-box;
color: #6B6B70;
font-size: 14px;
line-height: 19.6px;
}
.c-footer-landing__list {
display: block;
box-sizing: border-box;
padding: 0px;
margin: 16px 0px 0px;
list-style-type: none;
}
.c-footer-landing__item {
display: list-item;
box-sizing: border-box;
margin-bottom: 10px;
}
.c-footer-landing__link-2 {
display: inline;
box-sizing: border-box;
color: #18181B;
cursor: pointer;
font-size: 15px;
line-height: 21px;
letter-spacing: 0.075px;
text-decoration-line: none;
transition: opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.c-footer-landing__item-2 {
display: list-item;
box-sizing: border-box;
}
.c-footer-landing__group-2 {
display: block;
box-sizing: border-box;
text-align: center;
padding-bottom: 56px;
}
.c-footer-landing__logo {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 28px;
height: 28px;
vertical-align: middle;
background-color: currentcolor;
transform: matrix3d(0.913545, -0.139112, 0.382207, -0.00159253, 0, 0.939693, 0.34202, -0.00142508, -0.406737, -0.312451, 0.858452, -0.00357688, 0, 0, 0, 1);
transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
margin-right: 706px;
margin-left: 706px;
}
.c-footer-landing__text-2 {
display: block;
box-sizing: border-box;
margin: 20px 0px 0px;
font-family: "Space Mono", "Space Mono Fallback", ui-monospace, monospace;
font-size: 13px;
line-height: 20.8px;
letter-spacing: 0.075px;
}
.c-footer-landing__link:hover {
opacity: 0.8;
}
.c-footer-landing__link:focus {
border: 1px solid #A1A1A1;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
.c-footer-landing__link-2:hover {
opacity: 0.7;
}
Mobile anatomy
footer-landing-mobile: the component root, a<footer>(.c-footer-landing-mobile)footer-landing-mobile-columns: inner grid (.c-footer-landing-mobile__columns)footer-landing-mobile-column: inner block (.c-footer-landing-mobile__column)footer-landing-mobile-inner: label text, 57 characters (.c-footer-landing-mobile__inner)footer-landing-mobile-link: link, 12-character label (.c-footer-landing-mobile__link)footer-landing-mobile-column-2: inner grid (.c-footer-landing-mobile__column-2)footer-landing-mobile-group: inner block (.c-footer-landing-mobile__group, 3 instances)footer-landing-mobile-text: label text, 5 characters (.c-footer-landing-mobile__text, 3 instances)footer-landing-mobile-list: inner group (.c-footer-landing-mobile__list, 3 instances)footer-landing-mobile-item: inner group (.c-footer-landing-mobile__item, 6 instances)footer-landing-mobile-link-2: link, 4-character label (.c-footer-landing-mobile__link-2, 9 instances)footer-landing-mobile-item-2: inner group (.c-footer-landing-mobile__item-2, 3 instances)footer-landing-mobile-group-2: inner block (.c-footer-landing-mobile__group-2)footer-landing-mobile-logo: icon placeholder, 28px (.c-footer-landing-mobile__logo)footer-landing-mobile-text-2: label text, 44 characters (.c-footer-landing-mobile__text-2)
Mobile recipe
HTML · CSS
<div class="c-footer-landing-mobile-scope">
<footer class="c-footer-landing-mobile">
<div class="c-footer-landing-mobile__columns">
<div class="c-footer-landing-mobile__column">
<p class="c-footer-landing-mobile__inner">lorem ipsum dolor sit amet consectetur adipiscing elit se</p>
<a class="c-footer-landing-mobile__link" href="#">lorem ipsum</a>
</div>
<div class="c-footer-landing-mobile__column-2">
<div class="c-footer-landing-mobile__group">
<div class="c-footer-landing-mobile__text">lorem</div>
<ul class="c-footer-landing-mobile__list">
<li class="c-footer-landing-mobile__item">
<a class="c-footer-landing-mobile__link-2" href="#">lore</a>
</li>
<li class="c-footer-landing-mobile__item">
<a class="c-footer-landing-mobile__link-2" href="#">lore</a>
</li>
<li class="c-footer-landing-mobile__item">
<a class="c-footer-landing-mobile__link-2" href="#">lorem i</a>
</li>
<li class="c-footer-landing-mobile__item">
<a class="c-footer-landing-mobile__link-2" href="#">lorem i</a>
</li>
<li class="c-footer-landing-mobile__item-2">
<a class="c-footer-landing-mobile__link-2" href="#">lorem i</a>
</li>
</ul>
</div>
<div class="c-footer-landing-mobile__group">
<div class="c-footer-landing-mobile__text">lorem i</div>
<ul class="c-footer-landing-mobile__list">
<li class="c-footer-landing-mobile__item">
<a class="c-footer-landing-mobile__link-2" href="#">l</a>
</li>
<li class="c-footer-landing-mobile__item">
<a class="c-footer-landing-mobile__link-2" href="#">lorem ip</a>
</li>
<li class="c-footer-landing-mobile__item-2">
<a class="c-footer-landing-mobile__link-2" href="#">lorem</a>
</li>
</ul>
</div>
<div class="c-footer-landing-mobile__group">
<div class="c-footer-landing-mobile__text">lorem ip</div>
<ul class="c-footer-landing-mobile__list">
<li class="c-footer-landing-mobile__item-2">
<a class="c-footer-landing-mobile__link-2" href="#">lorem ipsum dolor sit a</a>
</li>
</ul>
</div>
</div>
</div>
<div class="c-footer-landing-mobile__group-2">
<span class="c-footer-landing-mobile__logo" aria-hidden="true"></span>
<p class="c-footer-landing-mobile__text-2">lorem ipsum dolor sit amet consectetur adipi</p>
</div>
</footer>
</div>
.c-footer-landing-mobile-scope {
background-color: #F8F8F9;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-footer-landing-mobile {
display: block;
border-spacing: 0px;
box-sizing: border-box;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-footer-landing-mobile__columns {
display: grid;
gap: 56px;
box-sizing: border-box;
width: 100%;
max-width: 1080px;
padding-right: 24px;
padding-bottom: 96px;
padding-left: 24px;
margin-right: auto;
margin-left: auto;
}
.c-footer-landing-mobile__column {
display: block;
box-sizing: border-box;
}
.c-footer-landing-mobile__inner {
display: block;
box-sizing: border-box;
max-width: 282.629px;
margin: 0px;
font-family: Fraunces, "Fraunces Fallback", Georgia, serif;
font-size: 28px;
font-weight: 350;
line-height: 30.8px;
letter-spacing: -0.58px;
}
.c-footer-landing-mobile__link {
display: inline-flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
box-sizing: border-box;
padding: 12px 24px;
background-color: #18181B;
background-clip: padding-box;
color: #FFFFFF;
border: 1px solid transparent;
border-radius: 15px;
cursor: pointer;
font-size: 15px;
line-height: 20.25px;
letter-spacing: 0.075px;
text-decoration-line: none;
white-space: nowrap;
transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
margin-top: 32px;
}
.c-footer-landing-mobile__column-2 {
display: grid;
gap: 40px 56px;
grid-template-columns: repeat(2, minmax(0px, 1fr));
box-sizing: border-box;
}
.c-footer-landing-mobile__group {
display: block;
box-sizing: border-box;
}
.c-footer-landing-mobile__text {
display: block;
box-sizing: border-box;
color: #6B6B70;
font-size: 14px;
line-height: 19.6px;
}
.c-footer-landing-mobile__list {
display: block;
box-sizing: border-box;
padding: 0px;
margin: 16px 0px 0px;
list-style-type: none;
}
.c-footer-landing-mobile__item {
display: list-item;
box-sizing: border-box;
margin-bottom: 10px;
}
.c-footer-landing-mobile__link-2 {
display: inline;
box-sizing: border-box;
color: #18181B;
cursor: pointer;
font-size: 15px;
line-height: 21px;
letter-spacing: 0.075px;
text-decoration-line: none;
transition: opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.c-footer-landing-mobile__item-2 {
display: list-item;
box-sizing: border-box;
}
.c-footer-landing-mobile__group-2 {
display: block;
box-sizing: border-box;
text-align: center;
padding-bottom: 56px;
}
.c-footer-landing-mobile__logo {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 28px;
height: 28px;
vertical-align: middle;
background-color: currentcolor;
transform: matrix3d(0.913545, -0.139112, 0.382207, -0.00159253, 0, 0.939693, 0.34202, -0.00142508, -0.406737, -0.312451, 0.858452, -0.00357688, 0, 0, 0, 1);
transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
margin-right: 181px;
margin-left: 181px;
}
.c-footer-landing-mobile__text-2 {
display: block;
box-sizing: border-box;
margin: 20px 0px 0px;
font-family: "Space Mono", "Space Mono Fallback", ui-monospace, monospace;
font-size: 13px;
line-height: 20.8px;
letter-spacing: 0.075px;
}
.c-footer-landing-mobile__link:hover {
opacity: 0.8;
}
.c-footer-landing-mobile__link:focus {
border: 1px solid #A1A1A1;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
.c-footer-landing-mobile__link-2:hover {
opacity: 0.7;
}
States
footer-landing-linkhover: opacity 0.8footer-landing-linkfocus: border 1px solid #A1A1A1, box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline nonefooter-landing-link-2hover: opacity 0.7- mobile,
footer-landing-mobile-linkhover: opacity 0.8 - mobile,
footer-landing-mobile-linkfocus: border 1px solid #A1A1A1, box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline none - mobile,
footer-landing-mobile-link-2hover: opacity 0.7
Footer (inner)
Verification: desktop verified against the live page at desktop; mobile verified against the live page at mobile.
Variant observed on https://www.magentix.studio/work.
Anatomy
footer-inner: the component root, a<footer>(.c-footer-inner)footer-inner-columns: inner grid (.c-footer-inner__columns)footer-inner-column: inner block (.c-footer-inner__column)footer-inner-inner: label text, 57 characters (.c-footer-inner__inner)footer-inner-cta: thebutton-primary-2button, 12-character label (.c-footer-inner__cta)footer-inner-column-2: inner grid (.c-footer-inner__column-2)footer-inner-group: inner block (.c-footer-inner__group, 3 instances)footer-inner-text: label text, 5 characters (.c-footer-inner__text, 3 instances)footer-inner-list: inner group (.c-footer-inner__list, 3 instances)footer-inner-item: inner group (.c-footer-inner__item, 6 instances)footer-inner-link: link, 4-character label (.c-footer-inner__link, 9 instances)footer-inner-item-2: inner group (.c-footer-inner__item-2, 3 instances)footer-inner-group-2: inner block (.c-footer-inner__group-2)footer-inner-logo: icon placeholder, 28px (.c-footer-inner__logo)footer-inner-text-2: label text, 44 characters (.c-footer-inner__text-2)
Desktop recipe
HTML · CSS
<div class="c-footer-inner-scope">
<footer class="c-footer-inner">
<div class="c-footer-inner__columns">
<div class="c-footer-inner__column">
<p class="c-footer-inner__inner">lorem ipsum dolor sit amet consectetur adipiscing elit se</p>
<a class="c-footer-inner__cta" href="#">lorem ipsum</a>
</div>
<div class="c-footer-inner__column-2">
<div class="c-footer-inner__group">
<div class="c-footer-inner__text">lorem</div>
<ul class="c-footer-inner__list">
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lore</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lore</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem i</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem i</a>
</li>
<li class="c-footer-inner__item-2">
<a class="c-footer-inner__link" href="#">lorem i</a>
</li>
</ul>
</div>
<div class="c-footer-inner__group">
<div class="c-footer-inner__text">lorem i</div>
<ul class="c-footer-inner__list">
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">l</a>
</li>
<li class="c-footer-inner__item">
<a class="c-footer-inner__link" href="#">lorem ip</a>
</li>
<li class="c-footer-inner__item-2">
<a class="c-footer-inner__link" href="#">lorem</a>
</li>
</ul>
</div>
<div class="c-footer-inner__group">
<div class="c-footer-inner__text">lorem ip</div>
<ul class="c-footer-inner__list">
<li class="c-footer-inner__item-2">
<a class="c-footer-inner__link" href="#">lorem ipsum dolor sit a</a>
</li>
</ul>
</div>
</div>
</div>
<div class="c-footer-inner__group-2">
<span class="c-footer-inner__logo" aria-hidden="true"></span>
<p class="c-footer-inner__text-2">lorem ipsum dolor sit amet consectetur adipi</p>
</div>
</footer>
</div>
.c-footer-inner-scope {
background-color: #F8F8F9;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-footer-inner {
display: block;
border-spacing: 0px;
box-sizing: border-box;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-footer-inner__columns {
display: grid;
gap: 80px;
grid-template-columns: 1fr auto;
box-sizing: border-box;
width: 100%;
max-width: 1080px;
padding-right: 24px;
padding-bottom: 96px;
padding-left: 24px;
margin-right: auto;
margin-left: auto;
}
.c-footer-inner__column {
display: block;
box-sizing: border-box;
}
.c-footer-inner__inner {
display: block;
box-sizing: border-box;
max-width: 421.05px;
margin: 0px;
font-family: Fraunces, "Fraunces Fallback", Georgia, serif;
font-size: 42px;
font-weight: 350;
line-height: 46.2px;
letter-spacing: -0.58px;
}
.c-footer-inner__cta {
display: inline-flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
box-sizing: border-box;
padding: 12px 24px;
background-color: #18181B;
background-clip: padding-box;
color: #FFFFFF;
border: 1px solid transparent;
border-radius: 15px;
cursor: pointer;
font-size: 15px;
line-height: 20.25px;
letter-spacing: 0.075px;
text-decoration-line: none;
white-space: nowrap;
transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
margin-top: 32px;
}
.c-footer-inner__column-2 {
display: grid;
gap: 40px 56px;
grid-template-columns: repeat(3, minmax(0px, 1fr));
box-sizing: border-box;
}
.c-footer-inner__group {
display: block;
box-sizing: border-box;
}
.c-footer-inner__text {
display: block;
box-sizing: border-box;
color: #6B6B70;
font-size: 14px;
line-height: 19.6px;
}
.c-footer-inner__list {
display: block;
box-sizing: border-box;
padding: 0px;
margin: 16px 0px 0px;
list-style-type: none;
}
.c-footer-inner__item {
display: list-item;
box-sizing: border-box;
margin-bottom: 10px;
}
.c-footer-inner__link {
display: inline;
box-sizing: border-box;
color: #18181B;
cursor: pointer;
font-size: 15px;
line-height: 21px;
letter-spacing: 0.075px;
text-decoration-line: none;
transition: opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.c-footer-inner__item-2 {
display: list-item;
box-sizing: border-box;
}
.c-footer-inner__group-2 {
display: block;
box-sizing: border-box;
text-align: center;
padding-bottom: 56px;
}
.c-footer-inner__logo {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 28px;
height: 28px;
vertical-align: middle;
background-color: currentcolor;
transform: matrix3d(0.913545, -0.139112, 0.382207, -0.00159253, 0, 0.939693, 0.34202, -0.00142508, -0.406737, -0.312451, 0.858452, -0.00357688, 0, 0, 0, 1);
transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
margin-right: 706px;
margin-left: 706px;
}
.c-footer-inner__text-2 {
display: block;
box-sizing: border-box;
margin: 20px 0px 0px;
font-family: "Space Mono", "Space Mono Fallback", ui-monospace, monospace;
font-size: 13px;
line-height: 20.8px;
letter-spacing: 0.075px;
}
.c-footer-inner__cta:hover {
opacity: 0.8;
}
.c-footer-inner__cta:focus {
border: 1px solid #A1A1A1;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
.c-footer-inner__link:hover {
opacity: 0.7;
}
Mobile anatomy
footer-inner-mobile: the component root, a<footer>(.c-footer-inner-mobile)footer-inner-mobile-columns: inner grid (.c-footer-inner-mobile__columns)footer-inner-mobile-column: inner block (.c-footer-inner-mobile__column)footer-inner-mobile-inner: label text, 57 characters (.c-footer-inner-mobile__inner)footer-inner-mobile-cta: link, 12-character label (.c-footer-inner-mobile__cta)footer-inner-mobile-column-2: inner grid (.c-footer-inner-mobile__column-2)footer-inner-mobile-group: inner block (.c-footer-inner-mobile__group, 3 instances)footer-inner-mobile-text: label text, 5 characters (.c-footer-inner-mobile__text, 3 instances)footer-inner-mobile-list: inner group (.c-footer-inner-mobile__list, 3 instances)footer-inner-mobile-item: inner group (.c-footer-inner-mobile__item, 6 instances)footer-inner-mobile-link: link, 4-character label (.c-footer-inner-mobile__link, 9 instances)footer-inner-mobile-item-2: inner group (.c-footer-inner-mobile__item-2, 3 instances)footer-inner-mobile-group-2: inner block (.c-footer-inner-mobile__group-2)footer-inner-mobile-logo: icon placeholder, 28px (.c-footer-inner-mobile__logo)footer-inner-mobile-text-2: label text, 44 characters (.c-footer-inner-mobile__text-2)
Mobile recipe
HTML · CSS
<div class="c-footer-inner-mobile-scope">
<footer class="c-footer-inner-mobile">
<div class="c-footer-inner-mobile__columns">
<div class="c-footer-inner-mobile__column">
<p class="c-footer-inner-mobile__inner">lorem ipsum dolor sit amet consectetur adipiscing elit se</p>
<a class="c-footer-inner-mobile__cta" href="#">lorem ipsum</a>
</div>
<div class="c-footer-inner-mobile__column-2">
<div class="c-footer-inner-mobile__group">
<div class="c-footer-inner-mobile__text">lorem</div>
<ul class="c-footer-inner-mobile__list">
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lore</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lore</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem i</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem i</a>
</li>
<li class="c-footer-inner-mobile__item-2">
<a class="c-footer-inner-mobile__link" href="#">lorem i</a>
</li>
</ul>
</div>
<div class="c-footer-inner-mobile__group">
<div class="c-footer-inner-mobile__text">lorem i</div>
<ul class="c-footer-inner-mobile__list">
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">l</a>
</li>
<li class="c-footer-inner-mobile__item">
<a class="c-footer-inner-mobile__link" href="#">lorem ip</a>
</li>
<li class="c-footer-inner-mobile__item-2">
<a class="c-footer-inner-mobile__link" href="#">lorem</a>
</li>
</ul>
</div>
<div class="c-footer-inner-mobile__group">
<div class="c-footer-inner-mobile__text">lorem ip</div>
<ul class="c-footer-inner-mobile__list">
<li class="c-footer-inner-mobile__item-2">
<a class="c-footer-inner-mobile__link" href="#">lorem ipsum dolor sit a</a>
</li>
</ul>
</div>
</div>
</div>
<div class="c-footer-inner-mobile__group-2">
<span class="c-footer-inner-mobile__logo" aria-hidden="true"></span>
<p class="c-footer-inner-mobile__text-2">lorem ipsum dolor sit amet consectetur adipi</p>
</div>
</footer>
</div>
.c-footer-inner-mobile-scope {
background-color: #F8F8F9;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-footer-inner-mobile {
display: block;
border-spacing: 0px;
box-sizing: border-box;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-footer-inner-mobile__columns {
display: grid;
gap: 56px;
box-sizing: border-box;
width: 100%;
max-width: 1080px;
padding-right: 24px;
padding-bottom: 96px;
padding-left: 24px;
margin-right: auto;
margin-left: auto;
}
.c-footer-inner-mobile__column {
display: block;
box-sizing: border-box;
}
.c-footer-inner-mobile__inner {
display: block;
box-sizing: border-box;
max-width: 282.629px;
margin: 0px;
font-family: Fraunces, "Fraunces Fallback", Georgia, serif;
font-size: 28px;
font-weight: 350;
line-height: 30.8px;
letter-spacing: -0.58px;
}
.c-footer-inner-mobile__cta {
display: inline-flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
box-sizing: border-box;
padding: 12px 24px;
background-color: #18181B;
background-clip: padding-box;
color: #FFFFFF;
border: 1px solid transparent;
border-radius: 15px;
cursor: pointer;
font-size: 15px;
line-height: 20.25px;
letter-spacing: 0.075px;
text-decoration-line: none;
white-space: nowrap;
transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
margin-top: 32px;
}
.c-footer-inner-mobile__column-2 {
display: grid;
gap: 40px 56px;
grid-template-columns: repeat(2, minmax(0px, 1fr));
box-sizing: border-box;
}
.c-footer-inner-mobile__group {
display: block;
box-sizing: border-box;
}
.c-footer-inner-mobile__text {
display: block;
box-sizing: border-box;
color: #6B6B70;
font-size: 14px;
line-height: 19.6px;
}
.c-footer-inner-mobile__list {
display: block;
box-sizing: border-box;
padding: 0px;
margin: 16px 0px 0px;
list-style-type: none;
}
.c-footer-inner-mobile__item {
display: list-item;
box-sizing: border-box;
margin-bottom: 10px;
}
.c-footer-inner-mobile__link {
display: inline;
box-sizing: border-box;
color: #18181B;
cursor: pointer;
font-size: 15px;
line-height: 21px;
letter-spacing: 0.075px;
text-decoration-line: none;
transition: opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.c-footer-inner-mobile__item-2 {
display: list-item;
box-sizing: border-box;
}
.c-footer-inner-mobile__group-2 {
display: block;
box-sizing: border-box;
text-align: center;
padding-bottom: 56px;
}
.c-footer-inner-mobile__logo {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 28px;
height: 28px;
vertical-align: middle;
background-color: currentcolor;
transform: matrix3d(0.913545, -0.139112, 0.382207, -0.00159253, 0, 0.939693, 0.34202, -0.00142508, -0.406737, -0.312451, 0.858452, -0.00357688, 0, 0, 0, 1);
transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
margin-right: 181px;
margin-left: 181px;
}
.c-footer-inner-mobile__text-2 {
display: block;
box-sizing: border-box;
margin: 20px 0px 0px;
font-family: "Space Mono", "Space Mono Fallback", ui-monospace, monospace;
font-size: 13px;
line-height: 20.8px;
letter-spacing: 0.075px;
}
.c-footer-inner-mobile__cta:hover {
opacity: 0.8;
}
.c-footer-inner-mobile__cta:focus {
border: 1px solid #A1A1A1;
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
.c-footer-inner-mobile__link:hover {
opacity: 0.7;
}
States
footer-inner-ctahover: opacity 0.8footer-inner-ctafocus: border 1px solid #A1A1A1, box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline nonefooter-inner-linkhover: opacity 0.7- mobile,
footer-inner-mobile-ctahover: opacity 0.8 - mobile,
footer-inner-mobile-ctafocus: border 1px solid #A1A1A1, box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #A1A1A180 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline none - mobile,
footer-inner-mobile-linkhover: opacity 0.7
Product thumbnail button
Verification: verified against the live page at desktop.
Anatomy
product-thumbnail-button: the component root, a<button>(.c-product-thumbnail-button)product-thumbnail-button-icon: icon placeholder, 192px (.c-product-thumbnail-button__icon)
Recipe
HTML · CSS
<div class="c-product-thumbnail-button-scope">
<button class="c-product-thumbnail-button" type="button">
<span class="c-product-thumbnail-button__icon" aria-hidden="true"></span>
</button>
</div>
.c-product-thumbnail-button-scope {
background-color: #FFFFFF;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-product-thumbnail-button {
display: inline-flex;
justify-content: center;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
aspect-ratio: 1 / 1;
padding: 0px;
position: relative;
background-color: #EDEDF0;
color: #18181B;
border: 0;
border-radius: 16px;
cursor: pointer;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
letter-spacing: normal;
text-transform: none;
text-align: center;
appearance: button;
}
.c-product-thumbnail-button__icon {
display: block;
flex-shrink: 0;
box-sizing: border-box;
width: 192px;
height: 192px;
vertical-align: middle;
background-color: currentcolor;
}
.c-product-thumbnail-button:focus {
box-shadow: transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #42B5DC4D 0px 0px 0px 3px, transparent 0px 0px 0px 0px;
outline: none;
}
States
- focus: box-shadow transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, transparent 0px 0px 0px 0px, #42B5DC4D 0px 0px 0px 3px, transparent 0px 0px 0px 0px, outline none
Hero
Verification: verified against the live page at desktop.
Anatomy
hero: the component root, a<header>(.c-hero)hero-title: heading, 29 characters (.c-hero__title)hero-body: label text, 68 characters (.c-hero__body)
Recipe
HTML · CSS
<div class="c-hero-scope">
<header class="c-hero">
<h1 class="c-hero__title">lorem ipsum dolor sit amet co</h1>
<p class="c-hero__body">lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmo</p>
</header>
</div>
.c-hero-scope {
background-color: #F8F8F9;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
}
.c-hero {
display: block;
border-spacing: 0px;
box-sizing: border-box;
max-width: 1080px;
padding: 144px 24px 56px;
color: #18181B;
font-family: "Hanken Grotesk", "Hanken Grotesk Fallback", system-ui, sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 23.8px;
text-align: center;
}
.c-hero__title {
display: block;
box-sizing: border-box;
max-width: 573.666px;
margin: 0px auto;
font-family: Fraunces, "Fraunces Fallback", Georgia, serif;
font-size: 58px;
font-weight: 350;
line-height: 60.9px;
letter-spacing: -0.58px;
}
.c-hero__body {
display: block;
box-sizing: border-box;
max-width: 494.592px;
margin: 24px auto 0px;
color: #6B6B70;
font-size: 19.2px;
line-height: 24.96px;
letter-spacing: 0.096px;
}
States
- No hover or focus change was observed.
Do's and Don'ts
Do
- Set every headline in Fraunces at weight 350 with the negative tracking from its token (
hero-display-1.3px,display-lg-0.58px,title-md-0.2px). Use only the observed weights: 350, 400 and 500. - Give every button the 15px control radius (
rounded.md). This is whatbutton-primary,button-secondaryandbutton-ghostall share. - Size controls as measured: 46px tall for text CTAs (
button-primary) and 42px for icon/ghost buttons (button-ghost), with 12px horizontal padding (button-ghost-padding-x). - Pair a solid
primary(#18181B) CTA with a translucent ink-tint secondary (#18181B12, hover #18181B24) that keeps itsblur(8px). This is the hero pattern inheader-landing(flagged: the render came out 1268 px shorter and 16 px wider than the original after 2 correction attempts). - Lift white cards with the single ambient shadow
#0A0A0C0F 0px 4px 20px 0pxatrounded.xl(22px). This matchescardandcard-3. - Keep the frosted nav capsule as measured: #DCDCE099 fill,
blur(24px) saturate(1.5), 8px padding and 22px radius (navigation-group). The active tab is a white pill with#00000014 0px 0.98px 11.74px 0px. - Space sections 80px apart (
section-padding-y) and hold content to 1080px (footer-inner-inner-max-width). Grid cards sit 16px apart (card-grid-gap,card-3-grid-gap). - Use Space Mono
mono-labelonsurface-raisedchips for meta information such as dates, statuses and tags.
Don't
- Don't use bold or semibold anywhere. Emphasis is a family switch or a Fraunces italic.
- Don't introduce new hues.
accent-link(#3563AD) is the only colour, and it stays on inline text links. Never use it as a button or surface fill. - Don't use pure black for text or fills. Ink is always
ink#18181B, and secondary text ismuted#6B6B70. - Don't describe or rebuild the system as flat. The ambient shadow and the two blurs (
blur(24px) saturate(1.5),blur(8px)) are part of it. - Don't stack or darken shadows. There is one ambient tier and one active-pill tier, nothing heavier.
- Don't turn buttons into full pills.
rounded.fullis reserved for true pill or circle elements. - Don't separate sections with hairlines or colour bands. Use the 80px
section-padding-yon the samesurfacecanvas. - Don't drop the
1px solid transparentborder on buttons. The focus state (1px solid #A1A1A1plus a 3px #A1A1A180 ring) depends on it to avoid layout shift.
Responsive Behavior
Scope
This analysis compares two viewports only: one desktop capture and one mobile capture. No intermediate breakpoints were observed, so no breakpoint pixel values are stated.
What changes on mobile
| Element | Desktop | Mobile |
|---|---|---|
| Hero headline | 72px Fraunces, hero-display (header-landing-inner) | 36px Fraunces at the same -1.3px tracking (header-landing-mobile-inner) |
| Footer statement | 42px Fraunces (footer-inner-inner) | 28px Fraunces (footer-inner-mobile-inner) |
| Footer column gap | 80px (footer-inner-column-gap) | 56px (footer-inner-mobile-column-gap) |
| Footer height | 484px (footer-inner) | 741px (footer-inner-mobile), because columns stack |
| Navigation | Capsule with inline links and an icon button | Capsule with the wordmark and a hamburger toggle |
| Header bar height | 58px (header-inner) | 58px (header-inner-mobile) |
The mobile header recipe is flagged: header-landing-mobile (flagged: the header-landing-mobile-group-4 y did not reproduce the measured 220px after 2 correction attempts).
Behaviour
- Navigation. It keeps its glass capsule, with the same #DCDCE099 fill,
blur(24px) saturate(1.5), 22px radius and 8px padding (header-inner-mobile-group). The link row collapses into a 48×42px menu toggle (header-inner-mobile-menu-toggle) drawn with ink bars. - Cards. Card grids stack to full-width single cards.
- Hero. The CTA pair stays side by side.
- Typography. Headings shrink but stay in Fraunces 350. Body and
leadsizes are unchanged (header-landing-mobile-inner-2stays 19.2px). - Container. The container cap remains 1080px (
footer-inner-mobile-inner-max-width) and simply exceeds the viewport.
Touch targets
Interactive controls measure 42px tall for icon and ghost buttons and the menu toggle, and 46px for text CTAs (button-primary). Keep new controls at or above 42px.
Iteration Guide
- Reference tokens, never raw hex. Use
ink,muted,surface,surface-raised,surface-strong,hairline,accent-linkandfocus-ring. The dark theme swaps these same roles, so hard-coded hex breaks dark mode. - Headlines are Fraunces 350 only. Pick from
hero-display,display-lg,display-md,title-lgandtitle-md, and keep their negative tracking. Any new text size must use an existing weight (350, 400 or 500). - Controls use
rounded.md(15px) and 42px or 46px heights. Add new button variants as fill and alpha changes on the existingbutton-primary,button-secondaryandbutton-ghostrecipes, not as new shapes. - Elevation has exactly two shadows and two blurs. Use
#0A0A0C0F 0px 4px 20px 0pxfor cards and the capsule, and#00000014 0px 0.98px 11.74px 0pxfor the active pill. Useblur(24px) saturate(1.5)for the nav andblur(8px)for the secondary CTA. Do not invent a third tier. - Nest radii downward. A 22px card (
rounded.xl) holds 16px wells (rounded.lg), which hold 7px chips (rounded.xs). A child must never be rounder than its parent. - Keep spacing on the measured scale. Use 80px between sections (
section-padding-y), 16px grid gutters (card-grid-gap), 56px or 80px footer gaps, and cap content at 1080px. - Keep colour scarce. Blue (
accent-link) stays on inline links. Every other accent must come from the illustration layer, not the UI chrome.
Known Gaps
- Flagged recipes did not reproduce exactly. Treat their values as close but unconfirmed:
button-primary(flagged: 96% pixel match)button-primary-2andbutton-secondary(flagged: 93% match on focus)card-2(flagged: the render came out 3100 px shorter than the original)header-landing(flagged: the render came out 1268 px shorter and 16 px wider)header-landing-mobile(flagged: group y offset did not reproduce)
- Hover states are partial. Only the secondary-button hover fill (#18181B24) was measured. Hover treatments for the primary CTA, nav links and footer links are listed as states but carry no values.
- Scroll-driven content is unverified. The landing header measures 2700px tall, and the visual analysis notes long blank stretches. These suggest scroll-triggered animation that a static capture cannot reproduce.
- Motion was not captured. Transitions, durations and easing are not recorded.
- Responsive evidence is two-viewport. Breakpoints, tablet layouts and column-collapse thresholds are unknown.
- Some tokens lack recipes.
rounded.sm(12px) androunded.full(9999px) were seen on the page but on no measured component.mono-lgandaccent-linkeach appear on a single page only. - No forms were measured. The contact page was captured, but no input or form recipe was produced, so field styling is undefined.
- Dark-mode depth is unconfirmed. Dark-theme colours were sampled, but dark-mode shadows, blur tints and component-level values were not.
- Some content was not captured. Several anatomy parts are empty, including
navigation-button,card-2-group-6andcard-3-group-4content, and the illustrations exist only as placeholders.
このDESIGN.mdファイルは、AIコーディングエージェントが読み込む言語である英語で書かれています。
Magentix Studioの公開Webサイトから抽出したもので、公式のブランドガイドラインではありません。他のサイトのフォントを調べる
似ているサイト
すべて見る
Shopify
Shopifyのマーケティング用トップページは、全面に広がるドラマチックな動画ヒーローを採用しています。ほぼ黒に近い背景色 #02090a が、上部の白いナビゲーションバーと鮮やかなコントラストを生み出しています。ブランドのアクセントカラーは鮮やかなミントグリーンの #36f4a4 で、ハイライトやインタラクティブな状態の表示にアクセントとして控えめに使われています。タイポグラフィは、ディスプレイ用や編集的な見出しに NeueHaasGrotesk、UIの本文に Inter-Variable を組み合わせています。CTAには完全な角丸のピル型(border-radius: 9999px)が用いられています。全体の設計システムは、自信に満ち、コントラストが高く、理想を感じさせる印象で、訪問者を加盟店へと転換させることを目指して作られています。

Airbnb
Airbnbのデザインシステムは、独自のバリアブルフォント「Airbnb Cereal VF」を中心に構成されています。ほぼモノクロームのニュートラルなパレットで、濃いチャコール(#222222)とライトグレーを基調としています。ブランドのシグネチャーカラーである「Rausch」のコーラルピンク(#ff385c)は、プライマリーCTAとロゴにのみ限定して使われています。レイアウトはレスポンシブな写真カードグリッドで、画像とテキストの比率にゆとりがあります。カードには20pxのやわらかな角丸が付けられ、複数レイヤーのアンビエントシャドウによって、強いコントラストを避けながら控えめな奥行きを生み出しています。検索バーは目立つピル型のコンテナで、主要なユーザーアクションをまとめる役割を果たしています。
IKEA
IKEAのグローバルホームページは、大胆でフラットなデザインシステムを採用しています。象徴的なIKEAイエロー(#ffdb00)を主要なアクション面として用い、IKEAブルー(#0058a3)をブランドロゴのアクセントカラーとして使用しています。タイポグラフィ全体は、Noto IKEAというカスタムタイプフェイス一種類で構成されており、ウェイトは400と700を使い分けています。本文の14pxからディスプレイ見出しの51pxまで、サイズ展開は細かく定義されています。立体感はシャドウではなく、色のコントラストとレイアウト構造によって表現されています。レイアウトは最大幅90remのコンテナと、デスクトップでは1.5remのグリッドギャップを使用し、インタラクティブな要素には8pxの角丸トークンを一貫して適用しています。オフホワイトの背景(#fffefb)は、濃い#111111のテキストに温かみを添え、コントラストが高く読みやすい体験を実現しています。

Notion
Notionのマーケティング向けホームページは、深いネイビー(#02093a)のヒーローセクションと明るい(#f6f5f4)ボディを組み合わせています。全テキストに独自書体のNotionInterを用い、12カラムグリッドと28pxのガターで構成されています。角丸は2種類を使い分け、カードには8px、ピル型の要素には9999pxを適用しています。フローティングUIには複数レイヤーのシャドウを段階的に重ねた影の仕組みを採用しています。ブランドブルー(#2537b1)はCTAやアクセントのハイライトに使われ、gray-200からgray-900までの段階的なグレースケールが、テキストと面の階層を整えています。

Railway
Railwayのデザインシステムは、ダークを基調とした開発者向けプラットフォームのUIです。深い黒に近いネイビーの面(#13111c、#0b0b0f)を土台にし、高コントラストのオフホワイトのテキスト(#f7f7f8)と、特徴的な紫のブランドアクセント(#853bce / #553f83)を組み合わせています。ヒーローセクションはIBM Plex Serifで編集的な重みを出し、UIの文言はすべてInterで組み、コード表示にはJetBrains MonoとSF Monoを使っています。 立体感は影ではなく、rgba(255,255,255,0.2) 1.5px insetの白い光彩のような内側ボーダーで表現しており、ガラスパネルのような印象を与えます。スペーシングは4pxを基準とし、8/12/16/24/32の明確なリズムで構成されています。角丸は4pxが中心で、カードやヒーローのコンテナには8pxと16pxを限定的に使っています。

Stripe
Stripeのマーケティングホームページは、可変フォント「sohne-var」を軽めのウェイト(300〜400)で用いた、厳密に管理されたデザインシステム(HDS — Stripe Design System)で構成されています。ブランドカラーは濃いネイビーからインディゴにかけてのパレットで、中核には#533afd(Stripe Indigo)を据えています。特徴的なのは、全面に広がるスペクトラム調のグラデーションを用いたヒーローセクションです。コンポーネントは角丸が小さく(4〜6px)、影はフラットからごく控えめな程度に抑えられ、8pxを基準とするスペーシンググリッドに沿って構成されています。全体のトーンは、権威がありながらも親しみやすく、確かなタイポグラフィと控えめな色使いによって、金融インフラストラクチャーを伝えています。