Files
Montech_Landing/apps/landing/assets/css/main.css
T

232 lines
5.8 KiB
CSS
Raw Normal View History

/*
* Design-specific global styles. They are declared before the Tailwind layers on purpose:
* utilities must keep winning equal-specificity conflicts (e.g. `.fade-item` + `transition-all`).
*/
/* Lenis */
html.lenis,
html.lenis body {
height: auto;
}
.lenis.lenis-smooth {
scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent] {
overscroll-behavior: contain;
}
.lenis.lenis-stopped {
overflow: hidden;
}
body {
font-family: "Vazirmatn", sans-serif;
background-color: #fafcff;
color: #0f172a;
overflow-x: hidden;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
transition: background-color 0.3s ease, color 0.3s ease;
}
.hero-mesh {
background-image:
radial-gradient(circle at 15% 15%, rgba(0, 98, 245, 0.06) 0%, transparent 45%),
radial-gradient(circle at 85% 25%, rgba(56, 178, 248, 0.07) 0%, transparent 40%),
radial-gradient(circle at 50% 80%, rgba(2, 132, 199, 0.05) 0%, transparent 60%);
}
html.dark .hero-mesh {
background-image:
radial-gradient(circle at 15% 15%, rgba(0, 98, 245, 0.18) 0%, transparent 50%),
radial-gradient(circle at 85% 25%, rgba(56, 178, 248, 0.12) 0%, transparent 45%),
radial-gradient(circle at 50% 80%, rgba(2, 132, 199, 0.09) 0%, transparent 65%);
}
.perspective-stage {
perspective: 1800px;
perspective-origin: 50% 45%;
}
.studio-botanical-leaf {
position: absolute;
top: -45px;
right: 25px;
width: 280px;
height: 300px;
pointer-events: none;
z-index: 5;
filter: blur(12px) saturate(1.15);
opacity: 0.42;
transform: rotate(22deg) scale(1.08);
transform-origin: top right;
}
.mockup-macbook-wrap {
transform-style: preserve-3d;
will-change: transform;
transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
filter: drop-shadow(0 35px 55px rgba(15, 23, 42, 0.26)) drop-shadow(0 15px 25px rgba(0, 98, 245, 0.12));
}
.macbook-screen-chassis {
background: linear-gradient(145deg, #1e293b 0%, #0f172a 100%);
border: 1.5px solid rgba(255, 255, 255, 0.2);
box-shadow:
inset 0 0 0 1px rgba(0, 0, 0, 0.95),
inset 0 1px 2px rgba(255, 255, 255, 0.35),
0 1px 0 rgba(255, 255, 255, 0.1);
2026-10-01 11:21:08 +03:30
}
.macbook-deck-base {
background: linear-gradient(180deg, #94a3b8 0%, #64748b 35%, #334155 70%, #1e293b 100%);
border-top: 1px solid rgba(255, 255, 255, 0.3);
box-shadow:
0 20px 45px -5px rgba(15, 23, 42, 0.45),
0 6px 14px rgba(0, 0, 0, 0.25),
inset 0 1px 0 rgba(255, 255, 255, 0.5);
}
.mockup-iphone-wrap {
transform-style: preserve-3d;
will-change: transform;
transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
filter: drop-shadow(0 32px 50px rgba(15, 23, 42, 0.42)) drop-shadow(0 14px 24px rgba(0, 98, 245, 0.2));
}
.iphone-titanium-bezel {
background: linear-gradient(135deg, #475569 0%, #1e293b 35%, #0f172a 75%, #334155 100%);
border: 2.5px solid #475569;
box-shadow:
inset 0 0 0 1px rgba(255, 255, 255, 0.35),
inset 0 2px 4px rgba(255, 255, 255, 0.25),
0 0 0 2px rgba(15, 23, 42, 0.9);
position: relative;
}
.iphone-titanium-bezel::before {
content: "";
position: absolute;
left: -5.5px;
top: 95px;
width: 3.5px;
height: 48px;
background: #475569;
border-radius: 2px 0 0 2px;
box-shadow: -1px 0 2px rgba(0, 0, 0, 0.4);
}
.iphone-titanium-bezel::after {
content: "";
position: absolute;
right: -5.5px;
top: 85px;
width: 3.5px;
height: 65px;
background: #475569;
border-radius: 0 2px 2px 0;
box-shadow: 1px 0 2px rgba(0, 0, 0, 0.4);
}
.mockup-glass-sheen {
position: absolute;
inset: 0;
background: linear-gradient(132deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.05) 30%, transparent 60%);
pointer-events: none;
z-index: 30;
}
.gold-bar-realistic {
background: linear-gradient(135deg, #fffbeb 0%, #fef08a 22%, #f59e0b 55%, #b45309 85%, #78350f 100%);
box-shadow:
inset 0 1.5px 3px rgba(255, 255, 255, 0.95),
inset 0 -2px 4px rgba(0, 0, 0, 0.45),
0 8px 16px -3px rgba(217, 119, 6, 0.4);
}
.device-ground-shadow {
position: absolute;
bottom: -15px;
left: 6%;
right: 6%;
height: 38px;
background: radial-gradient(ellipse at center, rgba(15, 23, 42, 0.35) 0%, rgba(15, 23, 42, 0.12) 50%, transparent 80%);
filter: blur(9px);
pointer-events: none;
z-index: 1;
}
.spotlight-card {
position: relative;
overflow: hidden;
transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
will-change: transform;
}
.spotlight-card::before {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(300px circle at var(--mouse-x, -200px) var(--mouse-y, -200px), rgba(0, 98, 245, 0.12), transparent 70%);
pointer-events: none;
z-index: 10;
opacity: 0;
transition: opacity 0.3s ease;
}
.spotlight-card:hover::before {
opacity: 1;
}
.scroll-progress {
position: fixed;
top: 0;
left: 0;
right: 0;
height: 3.5px;
background: linear-gradient(90deg, #38b2f8, #0062f5, #0050d8);
z-index: 100;
transform-origin: 0% 50%;
transform: scaleX(0);
}
.fade-item {
opacity: 0;
transform: translateY(24px);
transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1), transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
will-change: opacity, transform;
}
.fade-item.revealed {
opacity: 1;
transform: translateY(0);
}
::-webkit-scrollbar {
width: 7px;
}
::-webkit-scrollbar-track {
background: #f1f5f9;
}
html.dark ::-webkit-scrollbar-track {
background: #0b1329;
}
::-webkit-scrollbar-thumb {
background: #cbd5e1;
border-radius: 9999px;
}
html.dark ::-webkit-scrollbar-thumb {
background: #334155;
}
::-webkit-scrollbar-thumb:hover {
background: #94a3b8;
}
html.dark ::-webkit-scrollbar-thumb:hover {
background: #475569;
}
2026-10-01 11:21:08 +03:30
@media (prefers-reduced-motion: reduce) {
.fade-item {
opacity: 1;
transform: none;
transition: none;
}
}
@tailwind base;
@tailwind components;
@tailwind utilities;