Spaces:
Sleeping
Sleeping
| /* ======================================== | |
| DESIGN SYSTEM — Kiyim-Kechak Do'koni | |
| ======================================== */ | |
| @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap'); | |
| /* --- CSS Custom Properties --- */ | |
| :root { | |
| /* Primary Palette — Premium Teal */ | |
| --clr-bg-primary: #0A1A1F; | |
| --clr-bg-secondary: #0F2830; | |
| --clr-accent: #1B6B7D; | |
| --clr-accent-light: #22A5BB; | |
| --clr-mid: #3D8A9A; | |
| --clr-light: #B0D4DC; | |
| --clr-gray: #5A6D75; | |
| /* Gold Accent */ | |
| --clr-gold: #D4A847; | |
| --clr-gold-light: #F0D78C; | |
| /* Semantic Colors */ | |
| --clr-text-primary: #ECF0F2; | |
| --clr-text-secondary: #9BB0B8; | |
| --clr-text-muted: #5C7A85; | |
| --clr-surface: rgba(15, 40, 48, 0.85); | |
| --clr-surface-solid: #0F2830; | |
| --clr-surface-hover: #153540; | |
| --clr-border: rgba(59, 138, 154, 0.15); | |
| --clr-border-hover: rgba(59, 138, 154, 0.35); | |
| /* Accent Colors */ | |
| --clr-success: #34D399; | |
| --clr-warning: #FBBF24; | |
| --clr-error: #F87171; | |
| --clr-info: #60A5FA; | |
| /* Glass Effect */ | |
| --glass-bg: rgba(15, 40, 48, 0.6); | |
| --glass-border: rgba(59, 138, 154, 0.12); | |
| --glass-blur: 24px; | |
| --glass-highlight: rgba(255, 255, 255, 0.04); | |
| /* Typography */ | |
| --font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; | |
| --fs-xs: 0.75rem; | |
| --fs-sm: 0.875rem; | |
| --fs-base: 1rem; | |
| --fs-md: 1.125rem; | |
| --fs-lg: 1.25rem; | |
| --fs-xl: 1.5rem; | |
| --fs-2xl: 2rem; | |
| --fs-3xl: 2.5rem; | |
| --fs-4xl: 3.5rem; | |
| --fw-light: 300; | |
| --fw-regular: 400; | |
| --fw-medium: 500; | |
| --fw-semibold: 600; | |
| --fw-bold: 700; | |
| --fw-extrabold: 800; | |
| /* Spacing */ | |
| --space-xs: 0.25rem; | |
| --space-sm: 0.5rem; | |
| --space-md: 1rem; | |
| --space-lg: 1.5rem; | |
| --space-xl: 2rem; | |
| --space-2xl: 3rem; | |
| --space-3xl: 4rem; | |
| --space-4xl: 6rem; | |
| /* Border Radius */ | |
| --radius-sm: 8px; | |
| --radius-md: 12px; | |
| --radius-lg: 18px; | |
| --radius-xl: 28px; | |
| --radius-full: 9999px; | |
| /* Shadows — Premium with colored glow */ | |
| --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2); | |
| --shadow-md: 0 4px 20px rgba(0, 0, 0, 0.25), 0 0 40px rgba(27, 107, 125, 0.05); | |
| --shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.3), 0 0 60px rgba(27, 107, 125, 0.08); | |
| --shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.4), 0 0 80px rgba(27, 107, 125, 0.1); | |
| --shadow-glow: 0 0 30px rgba(27, 107, 125, 0.25); | |
| --shadow-glow-gold: 0 0 30px rgba(212, 168, 71, 0.2); | |
| /* Transitions */ | |
| --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1); | |
| --transition-base: 280ms cubic-bezier(0.4, 0, 0.2, 1); | |
| --transition-slow: 450ms cubic-bezier(0.4, 0, 0.2, 1); | |
| --transition-spring: 500ms cubic-bezier(0.34, 1.56, 0.64, 1); | |
| /* Layout */ | |
| --container-max: 1280px; | |
| --container-padding: 1.5rem; | |
| --navbar-height: 72px; | |
| } | |
| /* --- Light Mode --- */ | |
| [data-theme="light"] { | |
| --clr-bg-primary: #F3F6F9; | |
| --clr-bg-secondary: #FFFFFF; | |
| --clr-accent: #1B6B7D; | |
| --clr-accent-light: #22A5BB; | |
| --clr-mid: #3D8A9A; | |
| --clr-light: #1A3540; | |
| --clr-gray: #8899A4; | |
| --clr-gold: #B8922F; | |
| --clr-gold-light: #D4A847; | |
| --clr-text-primary: #0F2830; | |
| --clr-text-secondary: #3A5A66; | |
| --clr-text-muted: #6A8A96; | |
| --clr-surface: rgba(255, 255, 255, 0.95); | |
| --clr-surface-solid: #FFFFFF; | |
| --clr-surface-hover: #EBF2F5; | |
| --clr-border: rgba(27, 107, 125, 0.1); | |
| --clr-border-hover: rgba(27, 107, 125, 0.25); | |
| --glass-bg: rgba(255, 255, 255, 0.85); | |
| --glass-border: rgba(27, 107, 125, 0.08); | |
| --glass-highlight: rgba(255, 255, 255, 0.5); | |
| --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04); | |
| --shadow-md: 0 4px 20px rgba(0, 0, 0, 0.06), 0 0 40px rgba(27, 107, 125, 0.03); | |
| --shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.08), 0 0 60px rgba(27, 107, 125, 0.04); | |
| --shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.1), 0 0 80px rgba(27, 107, 125, 0.06); | |
| --shadow-glow: 0 0 30px rgba(27, 107, 125, 0.12); | |
| --shadow-glow-gold: 0 0 30px rgba(212, 168, 71, 0.1); | |
| } | |
| /* --- Reset --- */ | |
| *, | |
| *::before, | |
| *::after { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| html { | |
| scroll-behavior: smooth; | |
| -webkit-text-size-adjust: 100%; | |
| } | |
| body { | |
| font-family: var(--font-family); | |
| font-size: var(--fs-base); | |
| font-weight: var(--fw-regular); | |
| line-height: 1.6; | |
| color: var(--clr-text-primary); | |
| background-color: var(--clr-bg-primary); | |
| background-image: | |
| radial-gradient(ellipse at 20% 50%, rgba(27, 107, 125, 0.06) 0%, transparent 50%), | |
| radial-gradient(ellipse at 80% 20%, rgba(61, 138, 154, 0.04) 0%, transparent 50%), | |
| radial-gradient(ellipse at 50% 100%, rgba(212, 168, 71, 0.02) 0%, transparent 40%); | |
| min-height: 100vh; | |
| overflow-x: hidden; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| a { | |
| text-decoration: none; | |
| color: inherit; | |
| transition: color var(--transition-fast); | |
| } | |
| a:hover { | |
| color: var(--clr-light); | |
| } | |
| img { | |
| max-width: 100%; | |
| height: auto; | |
| display: block; | |
| } | |
| ul, | |
| ol { | |
| list-style: none; | |
| } | |
| button { | |
| cursor: pointer; | |
| border: none; | |
| background: none; | |
| font-family: inherit; | |
| font-size: inherit; | |
| color: inherit; | |
| outline: none; | |
| } | |
| input, | |
| select, | |
| textarea { | |
| font-family: inherit; | |
| font-size: inherit; | |
| color: inherit; | |
| outline: none; | |
| border: none; | |
| background: none; | |
| } | |
| /* --- Dark Mode Switch --- */ | |
| .dark-mode-toggle { | |
| background: none; | |
| border: none; | |
| font-size: var(--fs-xl); | |
| cursor: pointer; | |
| color: var(--clr-text-secondary); | |
| transition: transform var(--transition-spring), color var(--transition-fast); | |
| } | |
| .dark-mode-toggle:hover { | |
| transform: scale(1.1) rotate(15deg); | |
| color: var(--clr-text-primary); | |
| } | |
| /* --- Custom Scrollbar --- */ | |
| ::-webkit-scrollbar { | |
| width: 8px; | |
| height: 8px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: var(--clr-bg-primary); | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: var(--clr-mid); | |
| border-radius: var(--radius-full); | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: var(--clr-mid); | |
| } | |
| /* --- Container --- */ | |
| .container { | |
| max-width: var(--container-max); | |
| margin: 0 auto; | |
| padding: 0 var(--container-padding); | |
| width: 100%; | |
| } | |
| .container-narrow { | |
| max-width: 960px; | |
| margin: 0 auto; | |
| padding: 0 var(--container-padding); | |
| } | |
| .container-wide { | |
| max-width: 1440px; | |
| margin: 0 auto; | |
| padding: 0 var(--container-padding); | |
| } | |
| /* --- Grid System --- */ | |
| .grid { | |
| display: grid; | |
| gap: var(--space-lg); | |
| } | |
| .grid-2 { | |
| grid-template-columns: repeat(2, 1fr); | |
| } | |
| .grid-3 { | |
| grid-template-columns: repeat(3, 1fr); | |
| } | |
| .grid-4 { | |
| grid-template-columns: repeat(4, 1fr); | |
| } | |
| .grid-5 { | |
| grid-template-columns: repeat(5, 1fr); | |
| } | |
| /* --- Flexbox Utilities --- */ | |
| .flex { | |
| display: flex; | |
| } | |
| .flex-col { | |
| flex-direction: column; | |
| } | |
| .flex-wrap { | |
| flex-wrap: wrap; | |
| } | |
| .items-center { | |
| align-items: center; | |
| } | |
| .items-start { | |
| align-items: flex-start; | |
| } | |
| .items-end { | |
| align-items: flex-end; | |
| } | |
| .justify-center { | |
| justify-content: center; | |
| } | |
| .justify-between { | |
| justify-content: space-between; | |
| } | |
| .justify-end { | |
| justify-content: flex-end; | |
| } | |
| .gap-xs { | |
| gap: var(--space-xs); | |
| } | |
| .gap-sm { | |
| gap: var(--space-sm); | |
| } | |
| .gap-md { | |
| gap: var(--space-md); | |
| } | |
| .gap-lg { | |
| gap: var(--space-lg); | |
| } | |
| .gap-xl { | |
| gap: var(--space-xl); | |
| } | |
| .gap-2xl { | |
| gap: var(--space-2xl); | |
| } | |
| /* --- Typography --- */ | |
| h1, | |
| h2, | |
| h3, | |
| h4, | |
| h5, | |
| h6 { | |
| line-height: 1.2; | |
| font-weight: var(--fw-bold); | |
| color: var(--clr-text-primary); | |
| } | |
| h1 { | |
| font-size: var(--fs-4xl); | |
| } | |
| h2 { | |
| font-size: var(--fs-3xl); | |
| } | |
| h3 { | |
| font-size: var(--fs-2xl); | |
| } | |
| h4 { | |
| font-size: var(--fs-xl); | |
| } | |
| h5 { | |
| font-size: var(--fs-lg); | |
| } | |
| h6 { | |
| font-size: var(--fs-md); | |
| } | |
| .text-xs { | |
| font-size: var(--fs-xs); | |
| } | |
| .text-sm { | |
| font-size: var(--fs-sm); | |
| } | |
| .text-base { | |
| font-size: var(--fs-base); | |
| } | |
| .text-md { | |
| font-size: var(--fs-md); | |
| } | |
| .text-lg { | |
| font-size: var(--fs-lg); | |
| } | |
| .text-xl { | |
| font-size: var(--fs-xl); | |
| } | |
| .text-2xl { | |
| font-size: var(--fs-2xl); | |
| } | |
| .text-light { | |
| font-weight: var(--fw-light); | |
| } | |
| .text-medium { | |
| font-weight: var(--fw-medium); | |
| } | |
| .text-semibold { | |
| font-weight: var(--fw-semibold); | |
| } | |
| .text-bold { | |
| font-weight: var(--fw-bold); | |
| } | |
| .text-muted { | |
| color: var(--clr-text-muted); | |
| } | |
| .text-secondary { | |
| color: var(--clr-text-secondary); | |
| } | |
| .text-center { | |
| text-align: center; | |
| } | |
| .text-uppercase { | |
| text-transform: uppercase; | |
| letter-spacing: 0.08em; | |
| } | |
| /* --- Spacing Utilities --- */ | |
| .mt-sm { | |
| margin-top: var(--space-sm); | |
| } | |
| .mt-md { | |
| margin-top: var(--space-md); | |
| } | |
| .mt-lg { | |
| margin-top: var(--space-lg); | |
| } | |
| .mt-xl { | |
| margin-top: var(--space-xl); | |
| } | |
| .mt-2xl { | |
| margin-top: var(--space-2xl); | |
| } | |
| .mt-3xl { | |
| margin-top: var(--space-3xl); | |
| } | |
| .mb-sm { | |
| margin-bottom: var(--space-sm); | |
| } | |
| .mb-md { | |
| margin-bottom: var(--space-md); | |
| } | |
| .mb-lg { | |
| margin-bottom: var(--space-lg); | |
| } | |
| .mb-xl { | |
| margin-bottom: var(--space-xl); | |
| } | |
| .mb-2xl { | |
| margin-bottom: var(--space-2xl); | |
| } | |
| .mb-3xl { | |
| margin-bottom: var(--space-3xl); | |
| } | |
| .pt-sm { | |
| padding-top: var(--space-sm); | |
| } | |
| .pt-md { | |
| padding-top: var(--space-md); | |
| } | |
| .pt-lg { | |
| padding-top: var(--space-lg); | |
| } | |
| .pt-xl { | |
| padding-top: var(--space-xl); | |
| } | |
| .section-padding { | |
| padding: var(--space-4xl) 0; | |
| } | |
| /* --- Animations --- */ | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| @keyframes fadeInUp { | |
| from { | |
| opacity: 0; | |
| transform: translateY(24px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes fadeInDown { | |
| from { | |
| opacity: 0; | |
| transform: translateY(-24px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes slideInLeft { | |
| from { | |
| opacity: 0; | |
| transform: translateX(-32px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateX(0); | |
| } | |
| } | |
| @keyframes slideInRight { | |
| from { | |
| opacity: 0; | |
| transform: translateX(32px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateX(0); | |
| } | |
| } | |
| @keyframes scaleIn { | |
| from { | |
| opacity: 0; | |
| transform: scale(0.9); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: scale(1); | |
| } | |
| } | |
| @keyframes pulse { | |
| 0%, | |
| 100% { | |
| transform: scale(1); | |
| } | |
| 50% { | |
| transform: scale(1.05); | |
| } | |
| } | |
| @keyframes shimmer { | |
| 0% { | |
| background-position: -200% 0; | |
| } | |
| 100% { | |
| background-position: 200% 0; | |
| } | |
| } | |
| @keyframes float { | |
| 0%, | |
| 100% { | |
| transform: translateY(0); | |
| } | |
| 50% { | |
| transform: translateY(-8px); | |
| } | |
| } | |
| .animate-fade-in { | |
| animation: fadeIn var(--transition-slow) ease-out; | |
| } | |
| .animate-fade-in-up { | |
| animation: fadeInUp var(--transition-slow) ease-out; | |
| } | |
| .animate-fade-in-down { | |
| animation: fadeInDown var(--transition-slow) ease-out; | |
| } | |
| .animate-slide-left { | |
| animation: slideInLeft var(--transition-slow) ease-out; | |
| } | |
| .animate-slide-right { | |
| animation: slideInRight var(--transition-slow) ease-out; | |
| } | |
| .animate-scale-in { | |
| animation: scaleIn var(--transition-spring); | |
| } | |
| /* Staggered Animation */ | |
| .stagger>* { | |
| opacity: 0; | |
| animation: fadeInUp 0.5s ease-out forwards; | |
| } | |
| .stagger>*:nth-child(1) { | |
| animation-delay: 0.05s; | |
| } | |
| .stagger>*:nth-child(2) { | |
| animation-delay: 0.1s; | |
| } | |
| .stagger>*:nth-child(3) { | |
| animation-delay: 0.15s; | |
| } | |
| .stagger>*:nth-child(4) { | |
| animation-delay: 0.2s; | |
| } | |
| .stagger>*:nth-child(5) { | |
| animation-delay: 0.25s; | |
| } | |
| .stagger>*:nth-child(6) { | |
| animation-delay: 0.3s; | |
| } | |
| .stagger>*:nth-child(7) { | |
| animation-delay: 0.35s; | |
| } | |
| .stagger>*:nth-child(8) { | |
| animation-delay: 0.4s; | |
| } | |
| /* Intersection Observer Animation */ | |
| .reveal { | |
| opacity: 0; | |
| transform: translateY(30px); | |
| transition: opacity 0.6s ease-out, transform 0.6s ease-out; | |
| } | |
| .reveal.visible { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| /* --- Page Layout --- */ | |
| .page-wrapper { | |
| min-height: 100vh; | |
| display: flex; | |
| flex-direction: column; | |
| } | |
| .page-content { | |
| flex: 1; | |
| padding-top: var(--navbar-height); | |
| } | |
| /* --- Section Headers --- */ | |
| .section-header { | |
| text-align: center; | |
| margin-bottom: var(--space-3xl); | |
| } | |
| .section-header h2 { | |
| margin-bottom: var(--space-sm); | |
| } | |
| .section-header .section-subtitle { | |
| color: var(--clr-text-muted); | |
| font-size: var(--fs-md); | |
| max-width: 600px; | |
| margin: 0 auto; | |
| } | |
| .section-header .section-line { | |
| width: 60px; | |
| height: 3px; | |
| background: linear-gradient(90deg, var(--clr-accent), var(--clr-mid)); | |
| margin: var(--space-md) auto 0; | |
| border-radius: var(--radius-full); | |
| } | |
| /* --- Responsive Breakpoints --- */ | |
| @media (max-width: 1024px) { | |
| :root { | |
| --fs-4xl: 2.5rem; | |
| --fs-3xl: 2rem; | |
| } | |
| .grid-4 { | |
| grid-template-columns: repeat(3, 1fr); | |
| } | |
| .grid-5 { | |
| grid-template-columns: repeat(3, 1fr); | |
| } | |
| } | |
| @media (max-width: 768px) { | |
| :root { | |
| --fs-4xl: 2rem; | |
| --fs-3xl: 1.75rem; | |
| --fs-2xl: 1.5rem; | |
| --container-padding: 1rem; | |
| --navbar-height: 64px; | |
| } | |
| .grid-2 { | |
| grid-template-columns: 1fr; | |
| } | |
| .grid-3 { | |
| grid-template-columns: repeat(2, 1fr); | |
| } | |
| .grid-4 { | |
| grid-template-columns: repeat(2, 1fr); | |
| } | |
| .grid-5 { | |
| grid-template-columns: repeat(2, 1fr); | |
| } | |
| .section-padding { | |
| padding: var(--space-3xl) 0; | |
| } | |
| .hide-mobile { | |
| display: none ; | |
| } | |
| } | |
| @media (max-width: 480px) { | |
| .grid-3 { | |
| grid-template-columns: 1fr; | |
| } | |
| .grid-4 { | |
| grid-template-columns: 1fr; | |
| } | |
| } | |
| /* --- Skeleton Loading --- */ | |
| .skeleton { | |
| background: linear-gradient(90deg, var(--clr-surface) 25%, var(--clr-accent) 50%, var(--clr-surface) 75%); | |
| background-size: 200% 100%; | |
| animation: shimmer 1.5s infinite; | |
| border-radius: var(--radius-md); | |
| } |