Add CMS website and Qom landing pages with responsive layout fixes.

Ship blog/portfolio routes, shared content components, and mobile-safe typography so the marketing site can deploy cleanly.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-07-29 21:57:44 +03:30
co-authored by Cursor
parent 47bee1ce66
commit 112e5eb46d
29 changed files with 1584 additions and 147 deletions
+89 -2
View File
@@ -42,6 +42,11 @@
html {
scroll-behavior: smooth;
overflow-x: clip;
}
body {
overflow-x: clip;
}
/* Rule: all interactive elements animate smoothly on hover */
@@ -57,11 +62,12 @@ a {
opacity 0.2s ease;
}
/* Headings: consistent weight matching hero h1 — titles stay on one row */
/* Headings: consistent weight matching hero h1 */
h1,
h2 {
font-weight: 400;
white-space: nowrap;
overflow-wrap: anywhere;
word-break: break-word;
}
h3,
@@ -256,3 +262,84 @@ a.group-border-hover:hover {
transform: none !important;
}
}
.prose-content {
color: var(--ink-soft);
font-size: 0.975rem;
line-height: 2;
}
.prose-content > *:first-child {
margin-top: 0;
}
.prose-content p,
.prose-content ul,
.prose-content ol,
.prose-content blockquote,
.prose-content pre,
.prose-content table,
.prose-content figure {
margin: 1.1em 0;
}
.prose-content h1,
.prose-content h2,
.prose-content h3,
.prose-content h4 {
color: var(--ink);
font-weight: 400;
white-space: normal;
margin: 1.6em 0 0.6em;
line-height: 1.5;
}
.prose-content h2 {
font-size: 1.35rem;
}
.prose-content h3 {
font-size: 1.15rem;
}
.prose-content a {
color: var(--accent);
text-decoration: underline;
text-underline-offset: 3px;
}
.prose-content img {
display: block;
max-width: 100%;
height: auto;
margin: 1.5rem auto;
border-radius: 1rem;
}
.prose-content ul,
.prose-content ol {
padding-inline-start: 1.4rem;
}
.prose-content li {
margin: 0.35em 0;
}
.prose-content blockquote {
border-inline-start: 3px solid var(--line);
padding-inline-start: 1rem;
color: var(--muted);
}
.prose-content table {
width: 100%;
border-collapse: collapse;
font-size: 0.9rem;
}
.prose-content th,
.prose-content td {
border: 1px solid var(--line);
padding: 0.55rem 0.75rem;
text-align: start;
}