# Firecrawl layout research — 2026-10-20 Source: https://www.firecrawl.dev/ . Live homepage checked with Playwright Chromium, deviceScaleFactor 1, viewport height 1000, widths 1440/1280/1024/768/390. document.fonts.ready awaited. No application or design-system edits. ## Verified measurements - `.container`: computed max-width `min(100% - 32px, 1112px)` on desktop. Width/x: 1440→1112/164;1280→1112/84;1024→992/16. - At 768/390, `.container` computed max-width `min(100% - 32px, 356px)`: actual width356, x206/x17. This is a narrow tablet clamp. Exact breakpoint not independently extracted; measured 1024 desktop versus768 mobile. - `.cmw-container.border-x`: fixed, top0, viewport-height; same x/width as content; left/right borders1px. Shared rails continue across section boundaries. - Main numbered divider wrapper (`main` direct div with classes `-mt-1 pointer-events-none select-none relative`): height245 desktop,155 mobile. Desktop numbered row `.container.relative.grid` height106 with padding45px 0 on its label block; horizontal separator child spans viewport width (1440), height1px. - Main section intro ancestor of `h2.section-head-title`: `.py-88.lg:py-143`, padding143px 0 desktop,88px 0 mobile. Compact subheader variant `.py-64.lg:py-88`:88px desktop. H2 itself padding12px20px8px. H2 fonts52/56 desktop,36/40 mobile (font/line height); H1 60/64 vs44/48. - `.developer-features-tabs`: desktop grid three equal columns370.66px across1112px, gap0, outer tab padding12px. Mobile horizontal tab strip; screenshot shows next choice partially offscreen. Do not turn substantive client content into hidden tabs merely to copy it. - `.features-media` and `.features-wait` share parent `.lg:grid.grid-cols-2.relative.gap-16`: desktop two548px columns,16px gap; mobile normal stacked blocks, separated by52px line bands (`.lg:hidden.h-52.border-y`). Other rows repeat this pattern. - Agent command panels parent `.grid.lg:grid-cols-2`: two556px columns, gap0 desktop; one356px column mobile. Nested action grid:4 columns desktop/2 mobile. - Split subheaders use centered max736px desktop group with left eyebrow and right left-aligned title; become vertically centered stack mobile. This is repeated for agent connection, testimonials and FAQ. - Stable homepage anchors confirmed: `#home-hero`, `#alexandria`. Remaining sections have no IDs in this capture; locate by `h2.section-head-title` text or classes, not invented anchors. - `#alexandria`:1112px-wide colored block, min-height560px, padding96px20px desktop; min-height460px, padding64px20px mobile. ## Proposed adaptation to Dealyo (not existing brand rules) Keep requested max1240, General Sans, orange #FE4A23 and square cards. Reuse one shared rail coordinate, 1px separators, aligned grid edges, two intro templates (centered and split), and measured16px grid gap as a candidate token. At max1240, two columns with16px gap become612px (derived proposal, not Firecrawl measurement). Use one-column mobile stacking. Evaluate shorter section spacing for a service landing; Firecrawl's143px intro padding plus245px divider modules creates substantial scroll. Do not copy Firecrawl's1112px max,356px tablet clamp, rounded cards/buttons, curved line joins, developer terminal motifs or long decorative pauses. A square-card design should keep rail intersections square rather than inherit its SVG curves. ## Artifacts - top-1440.png: desktop hero,1440×1000 - features-1440.png: intro/three-col tabs/code area,1440×1100 - top-390.png: mobile hero,390×1000 - features-390.png: mobile feature intro/tabs/stacked code,390×1300 - top-768.png: tablet narrow-container evidence - full-1440.png/full-390.png: full-page captures (very tall; prefer crops) - metrics-{1440,1280,1024,768,390}.json: computed CSS and rectangles for headings/ancestors/sections/grids - inspect.cjs: reproducible measurement script