voiceflow.com

SaaS ve verimlilikAçık

Bu tasarımı yapay zekâyla kullanın

AI aracınızı seçin, fikrinizi anlatın ve istemi gönderin.

  • İstemi Claude Code projenizdeki ajanın sohbetine yapıştırıp gönderin.

İndir

Örnek düzen

Açılış sayfası, bu paketten oluşturuldu
Yalnızca bu paketin ölçümlerinden oluşturulmuş genel bir sayfa: sitenin renkleri, yazı tipleri, düğmeleri ve boşluklarıyla örnek metinler.

Renkler

10 renk

Bileşenler

Get startedResourcesDaha fazla bilgiE-posta adresi
düğme primary
#397dff üzerinde #ffffff metin, r 8px, h 37px, 14px/600
düğme ghost
#f2f7f7 üzerinde saydam üzerinde #515a63 metin, r 0px, h 33px, 14px/400
düğme secondary
#ffffff üzerinde #1a1e23 metin, r 9999px, h 40px, 16px/400
girdi
h 32px, 0px solid #1a1e23, r 0px
kart
#ffffff, none, r 10px, gölge
bağlantı
#515a63, alt çizgi yok, 400
üst bilgi
91px, fixed, 0px boyutunda 7 bağlantı
ana başlık
72px / 300, center hizalı, maks. 720px
rozet
"Maya": #f8758f on #ffffffe6, 13px/600, 21px tall, radius 6px, padding 3px 6px
rozet
"Alex": #397bff on #ffffffe6, 13px/600, 21px tall, radius 6px, padding 3px 6px
kod
code: "Fira Code-3bf965ca37a74b48" 12px, transparent bg, #87bffb text, radius 0px, padding 0px 0px
formlar
0 forms, 12 inputs. Required markers: 0. Help texts: 0. Label placement: placeholder-only (3).
ikonlar
Icons: 205 inline SVGs, outline/stroke, sizes 16px/12px/64px/13px, stroke 2px/1.5px/2.4px; icon font classes icon-.

Etkileşim ve animasyon

  • button primary "Get started": background #397dff → #2f68db, shadow deepens
  • button secondary "Get started": background #397dff → #2f68db, shadow deepens
  • nav link "Docs": text #515a63 → #1a1e23, border #515a63 → #1a1e23, icon/inner colour → #1a1e23
  • body link "Turo’s story →": hover değişikliği yok
  • input: hover değişikliği yok
  • focus button primary: outline 1px none rgb(255, 255, 255), offset 1px
  • focus body link: box-shadow ring rgb(57, 125, 255) 0px 0px 0px 1px
  • focus input: element did not take focus
  • tooltip’ler: Tooltip triggers exist (1 × title) but none opened on hover in the first viewport; title attributes fall back to the browser's native tooltip.
  • menüler: 2 aria-haspopup triggers exist; none opened on hover (click-to-open menus).
  • animasyon: 278 elements carry transitions; typical 0.15s with ease, mostly on color, opacity, background-color. 10 running keyframe animations (psWord 0.18s 1; _1fvov9a2 1s infinite; psBars 1s infinite). 57 sizable elements sit at opacity 0 before scrolling: scroll-reveal animations are in use (reveal on enter, fade + rise is the usual recipe).

Tipografi

4 font ailesi
Tiempos Headline-81ad1a66702885c1Kendi sunucusundaUCity Pro-8cd2cb40d9534eafKendi sunucusundaFira Code-3bf965ca37a74b48Kendi sunucusundaUCity Promuadil Inter
headline-displayQuick brown fox72px / 300 / lh 76.32px / -2.16px
headline-lgQuick brown fox48px / 300 / lh 55.68px / -0.96px
headline-mdQuick brown fox24px / 400 / lh 28.8px / -0.48px
body-mdThe quick brown fox jumps over the lazy dog14px / 400 / lh 22px
label-mdThe quick brown fox jumps over the lazy dog12px / 400 / lh 1.42
buttonThe quick brown fox jumps over the lazy dog14px / 400 / lh 20px
codeconst pack = extract(url)12px / 400 / lh 18.6px
Kullanılan boyutlar

Boşluk

4px birim
481216202432
İçerik genişliği
1312px
Kırılma noktaları
480, 540, 800, 1200, 1280px

Köşe yarıçapı

düğme 8pxgirdi 0pxkart 10pxgörsel 0px

Gölgeler

4

Tema

No dark mode responded to prefers-color-scheme, a theme toggle, or a root class/attribute.

Logo ve simgeler

6 referans

Bu kesitler ve ölçüleri BRAND.md içinde. Paketi kullanmadan önce doğru logonun seçildiğini kontrol et.

Bileşen envanteri

87 türden 27 · 50 varyant · 11 durum · 1 overlay

Her satır, sayfada bulunan bir görsel örnektir. Görüntüler, çıkarma sırasında ulaşılan durumları gösterir. Eksik görüntüler ve canlı doğrulanmamış durumlar ayrı işaretlenir. Ayrıntılar COMPONENTS.md ve components.css dosyalarındadır.

Button, secondary (sm)sayfada 4, örn. "Talk to sales"#30373f text on rgba(25, 29, 34, 0.08), radius 10px, h 40px, padding 11px 20px 9px 20px, 14px/600, shadow rgba(22, 26, 30, 0.02) 0px 0px 0px 1px inset
active (pressed), disabled: değişiklik yok
Button, primary-icon-right (sm)sayfada 3, örn. "Get started"#ffffff text on #397dff, radius 10px, h 40px, padding 11px 20px 9px 20px, 14px/600, shadow rgba(15, 30, 97, 0.08) 0px 6px 16px -8px, rgba(15, 30, 97, 0.06) 0px 4px 12px -6px, rgba(15, 30, 97, 0.06) 0px 3px 8px -4px, rgba(15, 30, 97, 0.04) 0px 2px 6px -3px, rgba(15, 30, 97, 0.04) 0px 1px 4px -2px, rgba(15, 30, 97, 0.02) 0px 1px 3px -1px, rgba(15, 30, 97, 0.01) 0px 1px 2px 0px, rgba(47, 104, 219, 0.32) 0px -1px 0px 1px inset, rgba(255, 255, 255, 0.32) 0px 1px 2px -1px inset, icon right 24px
hover, focus (keyboard), active (pressed), disabled: canlı doğrulanmadı
Button, secondary-with-icon (sm)sayfada 3, örn. "Onboard agent"#d4d7d7 text on #38414a, radius 10px, h 40px, padding 11px 16px 9px 20px, 14px/600, shadow rgba(0, 0, 0, 0.4) 0px 1px 2px -1px, rgba(255, 255, 255, 0.1) 0px 1px 2px -1px inset
hover, focus (keyboard), active (pressed), disabled: canlı doğrulanmadı
Button, secondary-with-icon (lg)sayfada 3, örn. "Voiceflow is a G2 Fall 2026 "#6e797b text on #ffffff, radius 10px, h 402px, padding 12px 12px 12px 12px, 14px/400, shadow rgba(22, 26, 30, 0.01) 0px 1px 3px 1px, rgba(22, 26, 30, 0.08) 0px 4px 8px -6px, rgba(22, 26, 30, 0.08) 0px 1px 5px -4px, rgba(22, 26, 30, 0.04) 0px 0px 0px 1px, rgba(22, 26, 30, 0.02) 0px 1px 0px 0px, icon left 16px
hover, focus (keyboard): canlı doğrulanmadı
Button, secondary (sm) · mainsayfada 2, örn. "Talk to sales"#30373f text on rgba(25, 29, 34, 0.08), radius 8px, h 32px, padding 7px 12px 5px 12px, 14px/600, shadow rgba(22, 26, 30, 0.02) 0px 0px 0px 1px inset
hover, focus (keyboard), active (pressed), disabled: canlı doğrulanmadı
Button, secondary-icon-rightsayfada 2, örn. "“The engineering experience "#1a1e23 text on #ffffff, radius 10px, h 120px, padding 16px 20px 16px 20px, 14px/400, shadow rgba(22, 26, 30, 0.01) 0px 1px 3px 1px, rgba(22, 26, 30, 0.08) 0px 4px 8px -6px, rgba(22, 26, 30, 0.08) 0px 1px 5px -4px, rgba(22, 26, 30, 0.04) 0px 0px 0px 1px, rgba(22, 26, 30, 0.02) 0px 1px 0px 0px, icon right 16px
hover, focus (keyboard): canlı doğrulanmadı
Button, secondary-icon-right (lg)sayfada 2, örn. "Under 12 weeksFrom concept t"#1a1e23 text on #ffffff, radius 10px, h 252px, padding 16px 20px 16px 20px, 14px/400, shadow rgba(22, 26, 30, 0.01) 0px 1px 3px 1px, rgba(22, 26, 30, 0.08) 0px 4px 8px -6px, rgba(22, 26, 30, 0.08) 0px 1px 5px -4px, rgba(22, 26, 30, 0.04) 0px 0px 0px 1px, rgba(22, 26, 30, 0.02) 0px 1px 0px 0px, icon right 16px
hover, focus (keyboard): canlı doğrulanmadı
Button, ghost-icon-right (lg)sayfada 2, örn. "🇪🇸 Billing support 9:41Voi"#38414a text on transparent, radius 0px, h 524px, padding 0px 0px 0px 0px, 16px/400, icon right 11px
focus (keyboard): canlı doğrulanmadı
Icon button, secondarysayfada 14 · covered by h2.card-layout-heading#000000 text on #ffffff, radius 6px, h 23px, padding 0px 0px 0px 0px, 14px/400, icon only 12px
rest: önizleme kullanılamıyorfocus (keyboard): canlı doğrulanmadı
Icon button, ghostsayfada 6#656d75 text on transparent, radius 7px, h 30px, padding 4px 4px 4px 4px, 16px/400, icon only 7px
focus (keyboard): canlı doğrulanmadı
Icon button, ghost · mainsayfada 5#000000 text on transparent, radius 0px, h 40px, padding 0px 8px 0px 8px, 16px/400
focus (keyboard): canlı doğrulanmadı
Icon button, secondary · mainsayfada 2#1a1e23 text on #ffffff, radius 50%, h 40px, padding 0px 0px 0px 0px, 16px/400, shadow rgba(22, 26, 30, 0.01) 0px 1px 3px 1px, rgba(22, 26, 30, 0.08) 0px 4px 8px -6px, rgba(22, 26, 30, 0.08) 0px 1px 5px -4px, rgba(22, 26, 30, 0.04) 0px 0px 0px 1px, rgba(22, 26, 30, 0.02) 0px 1px 0px 0px, icon only 16px
hover, focus (keyboard), active (pressed): canlı doğrulanmadı
Text link, plain-accentsayfada 1, örn. "Sanlam’s story →"#397dff, no underline, 14px/400
active (pressed): değişiklik yok
Text input, outlinedsayfada 3 · covered by spanh 32px, bg transparent, border none, radius 0px, padding 7px 8px 5px 8px, 14px text #1a1e23, placeholder #787f86
rest: önizleme kullanılamıyorplaceholder: canlı doğrulanmadı
Header / navbarsayfada 1, örn. "Docs Platform Resources Docs"h 91px, fixed, bg transparent, 7 links, CTAs: Get started, Resources, X, inner 1360px, logo left
rest: önizleme kullanılamıyor
Navigation link, plainsayfada 4, örn. "Docs"#515a63, no underline, 14px/400
Navigation link, plain · headersayfada 1, örn. "Login"#6e797b, no underline, 14px/400
hover, focus (keyboard): canlı doğrulanmadı
Menu / dropdown trigger, ghostsayfada 1, örn. "Resources"#515a63 text on transparent, radius 0px, h 33px, padding 4px 12px 4px 12px, 14px/400, icon right 16px
Tabs, underlinesayfada 1, örn. "SupportCX DesignProductEngin"6 tabs, horizontal, tab #515a63 14px/400, padding 0px 12px 0px 12px, selected #1a1e23/400, indicator span.platform-indicator.astro-wnme34lo 28px #fcfcfc, gap 2px
hover, selected: değişiklik yok
Footersayfada 1, örn. "Take control of your AI cust"h 643px, bg #1f2429, 6 link columns, 34 links, headings: Take control of your AI customer experiences, Platform, Resources, Company, newsletter form, social links
rest: önizleme kullanılamıyor
Footer link, plainsayfada 26, örn. "Platform overview"#e2e4e5, no underline, 14px/400
Social icon linkssayfada 33 icons at 18px, #9aa1a3, gap 8px
Tooltipsayfada 1, örn. "ResolvedConversations840 · 8"201×60px, bg transparent, #6e797b, border none, radius 0px, padding 0px 0px 0px 0px
Badge / pill / tag, subtle-squaresayfada 6, örn. "Returns & refunds" · covered by header.card-layout-header#30373f on #e2e4e5, radius 6px, h 18px, padding 0px 4px 0px 4px, 15px/400
rest: önizleme kullanılamıyor
Counter / notification dot, subtle-filledsayfada 1 · covered by div.psb#38414a on #ffffff, radius 100px, h 23px, padding 0px 0px 0px 0px, 16px/400
rest: önizleme kullanılamıyor
Card, flatsayfada 22, örn. "Every tool your team needs t"bg transparent, border none, radius 0px, padding 0px 0px 0px 0px, no shadow, about 749×111px, 1 per row
hover: değişiklik yok
Card, flat · mainsayfada 10, örn. "Collaboration brings your te"bg transparent, border none, radius 0px, padding 32px 32px 8px 32px, no shadow, about 642×98px, h3 24px/400, 2 per row
yalnızca durağan
Card, elevatedsayfada 8, örn. "“Voiceflow takes the pain ou"bg #ffffff, border none, radius 10px, padding 16px 20px 16px 20px, shadow rgba(22, 26, 30, 0.01) 0px 1px 3px 1px, rgba(22, 26, 30, 0.08) 0px 4px 8px -6px, rgba(22, 26, 30, 0.08) 0px 1px 5px -4px, rgba(22, 26, 30, 0.04) 0px 0px 0px 1px, rgba(22, 26, 30, 0.02) 0px 1px 0px 0px, about 194×120px, 1 per row
yalnızca durağan
Card, flat-with-mediasayfada 8, örn. "[data-native-workflow] ._1p4"bg transparent, border none, radius 0px, padding 24px 0px 0px 32px, no shadow, about 642×383px, media inside 634×338, radius 0px, body 14px #284d6c, 2 per row
yalnızca durağan
Card, outlined-with-mediasayfada 5, örn. "Collaboration brings your te"bg #f1f2f2, border 1px solid #e2e4e5, radius 10px, padding 0px 0px 0px 0px, no shadow, about 644×483px, media inside 292×279, radius 8px, h3 24px/400, 6 per row
yalnızca durağan
Card, elevated-interactivesayfada 5, örn. "Within 30 daysOutside return"bg transparent, border none, radius 8px, padding 9px 0px 10px 0px, shadow rgba(22, 26, 30, 0.06) 0px 1px 0px 0px, about 245×88px, 1 per row, clickable
yalnızca durağan
Testimonial / quote card, elevated-with-mediasayfada 1, örn. "“We built and threw away fou"bg #ffffff, border none, radius 10px, padding 22px 24px 22px 24px, shadow rgba(22, 26, 30, 0.12) 0px 20px 44px -18px, rgba(22, 26, 30, 0.12) 0px 16px 28px -18px, rgba(22, 26, 30, 0.08) 0px 12px 20px -18px, rgba(22, 26, 30, 0.08) 0px 10px 16px -18px, rgba(22, 26, 30, 0.04) 0px 8px 12px -18px, rgba(22, 26, 30, 0.04) 0px 4px 8px -18px, rgba(22, 26, 30, 0.01) 0px 1px 1px 0px, rgba(22, 26, 30, 0.06) 0px 0px 0px 1px, about 380×170px, media inside 28×28, radius 50%, body 16px #1a1e23, 1 per row
Accordion / disclosure, detailssayfada 1, örn. "🇺🇸English 🇺🇸English🇩🇪D"trigger 14px/600 #9aa1a3, padding 0px 0px 0px 0px, closed by default
Avatar, 28px-roundsayfada 128px, radius 50%
yalnızca durağan
Code block / inline code, inlinesayfada 3, örn. "vf project list"inline, Fira Code-3bf965ca37a74b48 12px, #87bffb on transparent, radius 0px, padding 0px 0px 0px 0px
yalnızca durağan
Code block / inline code, blocksayfada 1, örn. "issue_refund → response { "o"block, Fira Code-3bf965ca37a74b48 12px, rgba(255, 255, 255, 0.8) on rgba(255, 255, 255, 0.04), radius 10px, padding 12px 12px 12px 12px
yalnızca durağan
Blockquotesayfada 7, örn. "“Voiceflow takes the pain ou"14px #1a1e23 on transparent, border none, padding 0px 0px 0px 0px, radius 0px
yalnızca durağan
Image / figure, aspect-0.87sayfada 390×103px, aspect 0.87, radius 0px, object-fit fill
yalnızca durağan
Image / figure, aspect-1.49-roundedsayfada 3392×264px, aspect 1.49, radius 12px, object-fit cover
yalnızca durağan
Image / figure, aspect-3.36sayfada 294×28px, aspect 3.36, radius 0px, object-fit fill
yalnızca durağan
Icon, outline-24pxsayfada 824×24px, outline, stroke 1px none
yalnızca durağan
Icon, filled-16pxsayfada 716×16px, filled, fill #8acd6f
yalnızca durağan
Icon, filled-19pxsayfada 619×19px, filled, fill #1a1e23
yalnızca durağan
Dropdown menu 1menu button "Resources" tarafından click ile açılır, Escape ile kapanır1230×484px, below, 30px from the trigger, bg transparent, text #6e797b 14px, radius 0px, padding 0px 0px 0px 0px, no shadow, 8 items 366px tall in 2 columns, with icons, close button, closes on Escape

Bu sayfada yok: Toggle / segmented control, Button group, Floating action button, Close / dismiss button, Search field, Textarea, Select (native), Combobox / custom select, Checkbox, Radio, Switch / toggle, Range slider, File input / dropzone, Date / time input, Input with attached button or addon, Field label, Help / hint text, Validation error text, Fieldset / form section, Breadcrumb, Pagination, Stepper / progress steps, Sidebar navigation, Skip link, Back to top, Theme toggle, Language / region switch, Popover, Dialog / modal, Drawer / sheet / off-canvas, Toast / snackbar, Banner / announcement bar, Cookie / consent notice, Lightbox / media viewer, Chip (removable / selectable tag), Alert / callout, Progress bar, Spinner / loader, Skeleton / shimmer, Empty state, Rating / stars, Pricing card / plan, Feature item (icon + title + text), Stat / metric, Styled list, List row / menu row, Table, Table row, Avatar stack, Divider, Keyboard key, Video / media embed, Carousel / slider, Logo strip, Eyebrow / kicker, FAQ block, Call-to-action band, Newsletter / signup form, Search results / listing row, Sticky bar.

Responsive

1440 / 1024 / 768 / 390 px
ViewportİçerikKenar boşluğuGövdeBaşlıkÜst bilgiHeroIzgaralarDüğmeler
desktop 14401312px280px16px72px, 2 lines, center91px, 6 links, 1 CTAmedia below text3→3 col; 8→1 col; 3→1 colcontent-width
laptop 1024928px112px16px72px, 2 lines, center91px, 6 links, 1 CTAmedia below text3→3 col; 3→1 col; 2→2 colcontent-width
tablet 768704px72px16px56px, 2 lines, center91px, 5 links, 1 CTAmedia below text3→3 col; 3→1 col; 2→2 colcontent-width
phone 390342px24px16px28px, 2 lines, center76px, hamburger (Menu)media below text2→1 col; 3→1 col; 2→2 colcontent-width
  • H1 goes 72px → 28px (39%), 2 → 2 lines.
  • Nav collapses to a hamburger by 390px (first seen at 390px); header 91px → 76px.
  • Body text is 16px at the sampled desktop and phone widths.
  • Phone side gutter 24px.
  • Section top padding 40px → 40px.

Paketteki dosyalar

100 dosya

52 kB rehber metinle başla. Paketteki tüm metin 982 kB; ayrıntılı dosyaları gerektikçe aç. Görseller ayrıdır.

START_HERE.md105 satır
# Start here: voiceflow.com

Observed 2026-10-28T01:15:53.572Z; default light theme. This is a compact handoff, not the full evidence archive: everything you need to start is here, the detailed files are one step away.

## How to use this pack

1. Read `START_HERE.md` and `tokens.css` first: the priority values. Keep observed values; a value marked inferred or fallback is a suggestion to resolve against the screenshots.
2. Open `screenshots/desktop-1440-fold.png` and `screenshots/phone-390-fold.png` and match the composition, density, whitespace and image treatment; the values do not carry those. Treat the inside of an image or canvas as a visual inference, not measured DOM.
3. Read `FONTS.md` and load `fonts.css` before `tokens.css`. Keep exact weights and variable-font settings and verify the fonts that actually render. If a font is unavailable, name the substitute and compare its width and apparent weight before touching the type scale.
4. Before drawing any logo or icon, read `BRAND.md` and open `screenshots/brand-logo.png`, `screenshots/brand-icon-1.png`, `screenshots/brand-icon-2.png`: for a new product, create an original mark with the observed proportions and treatment; never guess a shape from a label.
5. Before building any control, read `COMPONENTS.md` (every variant and measured state, with a crop of each), use `components.css` for the CSS and `demos/` for a live copy of each component. A component listed as not found does not exist on the site; do not invent it.
6. Read `REGIONS.md` and inspect its context, detail and icon crops: reconstruct outer and inner surfaces, per-layer gradients and shadows and group spacing (`regions.css` has the recipes), then check the whole page again.
7. Read `BEHAVIOR.md` for hover, focus, tooltips, menus, motion, scrolling, tables, forms, text and each breakpoint, and reproduce the behaviour, not only the colours. No alternate theme was verified; use the observed theme unless another is requested.
8. `layout.html` is a generic page composed only from this pack's measured values, with placeholder copy: open it to see the colours, type, recipes and spacing working together and to check your own wiring of the fonts and tokens against it. It is not the site's composition; the screenshots are.
9. `DESIGN.md` has the whole system when a value is missing above. `evidence.json` is diagnostic data: never in the first read.
10. When done, render at desktop, 390px and 320px, compare with the screenshots, fix the biggest visible mismatch first (usually type size, whitespace or image treatment), recheck keyboard focus, overflow, navigation and forms, and repeat.
11. For another site's design, run `npx stylepack-cli <host>` in the project (it downloads that pack and records it the same way), or fetch https://stylepack.ai/packs/<host>/pack.zip; one question at a time is at https://stylepack.ai/packs/<host>/fonts, /colors and /buttons.

## Priority values and evidence

Values labeled fallback were not observed for that role; inferred-role means a visible heading was mapped to a display role. Keep observed values, but treat fallbacks as suggestions.
Keep measured sizes, tracking, radii and colors unless the new content requires an explicit adaptation. Do not enlarge the headline simply to fill a different line length.
Content width: 1312px. Inferred spacing base: 4px; sampled scale: 4, 8, 12, 16, 20, 24, 32px. Observed CSS breakpoints: 480, 540, 800, 1200, 1280px.
Colors: background=#f2f7f7; surface=#ffffff; surface-2=#f1f2f2; surface-3=#d3e5f4; foreground=#1a1e23; muted-foreground=#515a63; primary=#397dff; on-primary=#111111; secondary=#008069; border=#e2e4e5.
- primary: Selected from measured button, link, text, painted-area and theme colors. It is not proof of a filled primary button; follow the observed component recipes.
Radii: button 8px, card 10px, input 0px, image 0px.
Shadows: rgba(22, 26, 30, 0.01) 0px 1px 3px 1px, rgba(22, 26, 30, 0.08) 0px 4px 8px -6px, rgba(22, 26, 30, 0.08) 0px 1px 5px -4px, rgba(22, 26, 30, 0.04) 0px 0px 0px 1px, rgba(22, 26, 30, 0.02) 0px 1px 0px 0px; rgba(11, 20, 26, 0.13) 0px 1px 0.5px 0px; rgba(22, 26, 30, 0.02) 0px 0px 0px 1px inset.

## Typography

Load fonts.css before applying tokens.css. FONTS.md contains the observed face/weight inventory and rendered-font checks. A CSS family name alone does not load a font.
Copy the supplied @font-face sources verbatim; do not replace a captured face with Google Fonts merely because its name looks similar. Keep fonts.css linked (or inline it verbatim for a single HTML deliverable). It includes measured semantic font defaults; tokens.css supplies scale and spacing. Use each role as a complete recipe: family, exact numeric weight, size, line height, tracking, font-feature-settings (including cv/ss stylistic sets), optical sizing and variable-font settings. A font shorthand resets feature settings; reapply the supplied longhands after it. Do not round 510 to 500/600, or turn a measured light style into a bold heading.
Use the captured family first. Self-hosted is a hosting location, not an availability verdict. An unverified probe is not evidence of failure; do not choose the optional fallback merely because it is familiar. Substitute only after an actual failed destination request or missing licensed source; record that reason and the replacement. A transient network error merits a retry before redesigning the typography.
Fallback roles are unmeasured suggestions. If a role is absent, start from the nearest observed text treatment; do not assume headings must be bold.
- Tiempos Headline-81ad1a66702885c1: observed weights 300; source loading recipe in fonts.css.
- UCity Pro-8cd2cb40d9534eaf: observed weights 400; source loading recipe in fonts.css.
- Fira Code-3bf965ca37a74b48: observed weights 400; source loading recipe in fonts.css.
- UCity Pro: observed weights 400; no exact loading recipe found; supply a font or declare a substitute.
- Tiempos Headline-81ad1a66702885c1 delivery by face: confirmed 300 normal; failed none; unverified none. Confirmation is from one isolated-origin check, not every deployment. Keep confirmed faces; attempt unverified faces. A failed unused face does not invalidate a working regular/bold face.
- UCity Pro-8cd2cb40d9534eaf delivery by face: confirmed 400 normal, 600 normal, 700 normal; failed none; unverified none. Confirmation is from one isolated-origin check, not every deployment. Keep confirmed faces; attempt unverified faces. A failed unused face does not invalidate a working regular/bold face.
- Fira Code-3bf965ca37a74b48 delivery by face: confirmed 300 700 normal; failed none; unverified none. Confirmation is from one isolated-origin check, not every deployment. Keep confirmed faces; attempt unverified faces. A failed unused face does not invalidate a working regular/bold face.
After loading, inspect the browser's Rendered Fonts for the headline, body and button. Computed font-family/font-weight and document.fonts.check() alone do not prove which face drew the glyphs.

- headline-display: Tiempos Headline-81ad1a66702885c1; 72px/76.32px; weight 300; tracking -2.16px; observed, source h1.
- headline-lg: Tiempos Headline-81ad1a66702885c1; 48px/55.68px; weight 300; tracking -0.96px; observed, source h2.
- headline-md: UCity Pro-8cd2cb40d9534eaf; 24px/28.8px; weight 400; tracking -0.48px; observed, source h3.
- body-md: UCity Pro-8cd2cb40d9534eaf; 14px/22px; weight 400; tracking normal; observed, source body.
- label-md: UCity Pro-8cd2cb40d9534eaf; 12px/1.42; weight 400; tracking normal; observed, source label.
- button: UCity Pro; 14px/20px; weight 400; tracking normal; observed, source button.
- code: Fira Code-3bf965ca37a74b48; 12px/18.6px; weight 400; tracking normal; observed, source code.
- Font Tiempos Headline-81ad1a66702885c1: self-hosted; use its captured loader first. Self-hosted does not imply unavailable or licensed for reuse; substitution is conditional, not a second design choice.
- Font UCity Pro-8cd2cb40d9534eaf: self-hosted; use its captured loader first. Self-hosted does not imply unavailable or licensed for reuse; substitution is conditional, not a second design choice.
- Font Fira Code-3bf965ca37a74b48: self-hosted; use its captured loader first. Self-hosted does not imply unavailable or licensed for reuse; substitution is conditional, not a second design choice.
- Font UCity Pro: unknown; use its captured loader first. Self-hosted does not imply unavailable or licensed for reuse; substitution is conditional, not a second design choice.

## Regional composition

Read REGIONS.md and open the referenced context, detail and icon crops before drawing complex previews. Build outer shell, inset content panel and internal groups as distinct layers where observed. Preserve which surface owns each gradient, border and shadow; do not apply one generic card treatment to every layer.
For images, canvas, video and external SVG, use the rendered crops to infer visible internal groupings. Keep those inferences separate from measured DOM facts. Do not treat an illustration as a functional app or paste the screenshot as the finished UI. Return to the whole-page screenshots to match scale and placement.
- r1: 1424×848px at page (8, 8); 24 measured layers, 8 icon samples, 6 opaque media layers. screenshots/region-r1-context.jpg, screenshots/region-r1-detail.png, screenshots/region-r1-icons.png
- r2: 1440×909.4px at page (0, 1052); 24 measured layers, 12 icon samples, 1 opaque media layers. screenshots/region-r2-context.jpg, screenshots/region-r2-detail.png, screenshots/region-r2-icons.png
- r3: 644×793.2px at page (634.2, 3860.7); 5 measured layers, 7 icon samples, 0 opaque media layers. screenshots/region-r3-context.jpg, screenshots/region-r3-detail.png, screenshots/region-r3-icons.png

## Component recipes

- primary button: bg #397dff; text #ffffff; border none; radius 8px; height 37px; padding 10px 14px; type 14px/600; shadow rgba(15, 30, 97, 0.08) 0px 6px 16px -8px, rgba(15, 30, 97, 0.06) 0px 4px 12px -6px, rgba(15, 30, 97, 0.06) 0px 3px 8px -4px, rgba(15, 30, 97, 0.04) 0px 2px 6px -3px, rgba(15, 30, 97, 0.04) 0px 1px 4px -2px, rgba(15, 30, 97, 0.02) 0px 1px 3px -1px, rgba(15, 30, 97, 0.01) 0px 1px 2px 0px, rgba(47, 104, 219, 0.32) 0px -1px 0px 1px inset, rgba(255, 255, 255, 0.32) 0px 1px 2px -1px inset.
- ghost button: bg transparent; text #515a63; border none; radius 0px; height 33px; padding 4px 12px; type 14px/400; shadow none.
- secondary button: bg #ffffff; text #1a1e23; border none; radius 9999px; height 40px; padding 0px 0px; type 16px/400; shadow rgba(22, 26, 30, 0.01) 0px 1px 3px 1px, rgba(22, 26, 30, 0.08) 0px 4px 8px -6px, rgba(22, 26, 30, 0.08) 0px 1px 5px -4px, rgba(22, 26, 30, 0.04) 0px 0px 0px 1px, rgba(22, 26, 30, 0.02) 0px 1px 0px 0px.
- Card: {"bg":"#ffffff","border":"none","radius":"10px","padding":"16px","shadow":"rgba(22, 26, 30, 0.01) 0px 1px 3px 1px, rgba(22, 26, 30, 0.08) 0px 4px 8px -6px, rgba(22, 26, 30, 0.08) 0px 1px 5px -4px, rgba(22, 26, 30, 0.04) 0px 0px 0px 1px, rgba(22, 26, 30, 0.02) 0px 1px 0px 0px","w":292,"h":252}.
- Input: {"type":"email","bg":"transparent","color":"#1a1e23","border":"0px solid #1a1e23","radius":"0px","height":32,"fontSize":14,"padding":"7px 8px","shadow":"none"}.

## Responsive and interaction evidence

- desktop 1440px: content 1312px, gutter 280px, H1 72px, 2 lines, center, header 91px, 6 links, 1 CTA, grids 3→3 col; 8→1 col; 3→1 col.
- laptop 1024px: content 928px, gutter 112px, H1 72px, 2 lines, center, header 91px, 6 links, 1 CTA, grids 3→3 col; 3→1 col; 2→2 col.
- tablet 768px: content 704px, gutter 72px, H1 56px, 2 lines, center, header 91px, 5 links, 1 CTA, grids 3→3 col; 3→1 col; 2→2 col.
- phone 390px: content 342px, gutter 24px, H1 28px, 2 lines, center, header 76px, hamburger (Menu), grids 2→1 col; 3→1 col; 2→2 col.
H1 goes 72px → 28px (39%), 2 → 2 lines.
Nav collapses to a hamburger by 390px (first seen at 390px); header 91px → 76px.
Body text is 16px at the sampled desktop and phone widths.
Phone side gutter 24px.
- Hover button-primary: background #397dff → #2f68db, shadow deepens.
- Hover button-secondary: background #397dff → #2f68db, shadow deepens.
- Hover nav-link: text #515a63 → #1a1e23, border #515a63 → #1a1e23, icon/inner colour → #1a1e23.
- Focus button-primary: outline 1px none rgb(255, 255, 255), offset 1px.
- Focus body-link: box-shadow ring rgb(57, 125, 255) 0px 0px 0px 1px.
278 elements carry transitions; typical 0.15s with ease, mostly on color, opacity, background-color. 10 running keyframe animations (psWord 0.18s 1; _1fvov9a2 1s infinite; psBars 1s infinite).
No alternate theme verified.

## Logo and icons

Logo lockup: 112×29px, filled. See BRAND.md and its crops for shape evidence.
Icon: 11×13px; outline/stroke; stroke 1.5px, caps butt.
Icon: 16×16px; filled; stroke none observed, caps not applicable.

## First images to open

- screenshots/desktop-1440-fold.png: Desktop 1440, above the fold
- screenshots/brand-logo.png: primary logo lockup
- screenshots/phone-390-fold.png: Phone 390, above the fold

## Verify the build

Render at desktop, 390px and 320px. Inspect the result, compare against the supplied references, fix the largest visible mismatch, and recheck keyboard focus, overflow, navigation and form behavior. Match the visual language while following the requested product content.
Page background comes from body; large surface colors remain in the palette.