Files
raoufi-group/src/app/globals.css
T
2026-08-15 14:04:09 +03:30

174 lines
3.6 KiB
CSS

@import "tailwindcss";
@theme {
/* ---- palette ------------------------------------------------------- */
--color-ink: #0e1013;
--color-ink-2: #16191d;
--color-ink-3: #22262b;
--color-paper: #fbfaf8;
--color-sand: #f2eee8;
--color-muted: #5c6873; /* brand body grey, carried over from the current site */
--color-gold: #f98223; /* Raoofi brand orange */
--color-gold-soft: #fbae70;
--color-line: #e2ddd5;
/* ---- type ---------------------------------------------------------- */
--font-sans: var(--font-iranyekan), system-ui, sans-serif;
--font-latin: var(--font-arual), Arial, sans-serif;
/* ---- motion -------------------------------------------------------- */
--ease-out-soft: cubic-bezier(0.22, 1, 0.36, 1);
--animate-fade-up: fade-up 0.9s var(--ease-out-soft) both;
--animate-slow-zoom: slow-zoom 9s var(--ease-out-soft) both;
--animate-marquee: marquee 38s linear infinite;
@keyframes fade-up {
from {
opacity: 0;
transform: translateY(22px);
}
to {
opacity: 1;
transform: none;
}
}
@keyframes slow-zoom {
from {
transform: scale(1.12);
}
to {
transform: scale(1);
}
}
@keyframes marquee {
from {
transform: translateX(0);
}
to {
transform: translateX(50%);
}
}
}
@layer base {
html {
scroll-behavior: smooth;
}
body {
background-color: var(--color-paper);
color: var(--color-muted);
font-family: var(--font-sans);
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
h1,
h2,
h3,
h4 {
color: var(--color-ink);
font-weight: 700;
line-height: 1.45;
}
::selection {
background-color: var(--color-gold);
color: #fff;
}
/* A restrained gold scrollbar keeps the luxury tone on desktop. */
::-webkit-scrollbar {
width: 10px;
}
::-webkit-scrollbar-track {
background: var(--color-sand);
}
::-webkit-scrollbar-thumb {
background: var(--color-gold);
}
}
@layer components {
/* Latin lock-ups (project names, kickers) always read left-to-right. */
.latin {
font-family: var(--font-latin);
direction: ltr;
unicode-bidi: isolate;
}
/* Thin gold rule that precedes every section kicker. */
.kicker {
display: inline-flex;
align-items: center;
gap: 0.75rem;
color: var(--color-gold);
font-size: 0.75rem;
letter-spacing: 0.32em;
}
.kicker::before {
content: "";
width: 2.5rem;
height: 1px;
background: currentColor;
}
/* Rich text rendered from the portfolio API's mainTextHtml field. */
.cms-body {
max-width: 738px;
margin-inline: auto;
color: var(--color-muted);
font-size: 1rem;
line-height: 2.1;
}
.cms-body p {
margin-block: 1.25em;
}
.cms-body strong,
.cms-body b {
color: var(--color-ink);
font-weight: 700;
}
.cms-body a {
color: var(--color-gold);
text-decoration: underline;
text-underline-offset: 3px;
}
.cms-body a:hover {
color: var(--color-ink);
}
.cms-body img {
display: block;
width: 100%;
height: auto;
margin-block: 2em;
}
.cms-body h1,
.cms-body h2,
.cms-body h3 {
margin-block: 1.5em 0.75em;
color: var(--color-ink);
font-weight: 700;
}
}
@utility no-scrollbar {
scrollbar-width: none;
-ms-overflow-style: none;
&::-webkit-scrollbar {
display: none;
}
}
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}