174 lines
3.6 KiB
CSS
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;
|
|
}
|
|
}
|