v3.0.0.0
FlatlyPage
- *,
- *::before,
- *::after {
- box-sizing: border-box;
- margin: 0;
- padding: 0;
- }
-
- :root {
- color-scheme: dark;
- --background: #111111;
- --foreground: #fafafa;
- --card: #1a1a1a;
- --card-hover: #222222;
- --muted: #888888;
- --border: #2a2a2a;
- --success: #22c55e;
- --navbar-bg: rgba(17, 17, 17, 0.8);
- --grid-line: rgba(255, 255, 255, 0.03);
- --avatar-from: #333;
- --avatar-to: #555;
- }
-
- :root[data-theme="light"] {
- color-scheme: light;
- --background: #ffffff;
- --foreground: #111111;
- --card: #f5f5f5;
- --card-hover: #efefef;
- --muted: #666666;
- --border: #e0e0e0;
- --success: #16a34a;
- --navbar-bg: rgba(255, 255, 255, 0.8);
- --grid-line: rgba(0, 0, 0, 0.05);
- --avatar-from: #ddd;
- --avatar-to: #bbb;
- }
-
- html {
- scroll-behavior: smooth;
- }
-
- body {
- font-family: -apple-system, BlinkMacSystemFont, sans-serif;
- background-color: var(--background);
- color: var(--foreground);
- -webkit-font-smoothing: antialiased;
- }
-
- a {
- color: inherit;
- text-decoration: none;
- }
-
- img {
- max-width: 100%;
- height: auto;
- }
-
- h3+br {
- display: none;
- }
-
- .container {
- max-width: 1200px;
- margin: 0 auto;
- padding: 0 24px;
- }
-
- .navbar {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- z-index: 50;
- background: var(--navbar-bg);
- backdrop-filter: blur(12px);
- border-bottom: 1px solid var(--border);
- }
-
- .navbar-inner {
- display: flex;
- align-items: center;
- justify-content: space-between;
- height: 72px;
- }
-
- .logo {
- font-size: 1.5rem;
- font-weight: 700;
- letter-spacing: -0.02em;
- display: flex;
- align-items: center;
- gap: 10px;
- }
-
- .logo img {
- height: 32px;
- width: auto;
- }
-
- .nav-links {
- display: flex;
- align-items: center;
- gap: 32px;
- }
-
- .nav-links a {
- display: inline-flex;
- align-items: center;
- font-size: 0.875rem;
- color: var(--muted);
- transition: color 0.2s;
- }
-
- .nav-links a:hover {
- color: var(--foreground);
- }
-
- .nav-buttons {
- display: flex;
- align-items: center;
- gap: 12px;
- }
-
- .btn {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- padding: 10px 20px;
- font-size: 0.875rem;
- font-weight: 500;
- border-radius: 8px;
- cursor: pointer;
- transition: all 0.2s;
- border: none;
- font-family: inherit;
- }
-
- .btn-ghost {
- background: transparent;
- color: var(--foreground);
- }
-
- .btn-ghost:hover {
- background: var(--card);
- }
-
- .btn-search {
- background: transparent;
- color: var(--foreground);
- }
-
- .btn-search:hover {
- background: transparent;
- }
-
- .btn-primary {
- background: var(--foreground);
- color: var(--background);
- }
-
- .btn-primary:hover {
- opacity: 0.9;
- }
-
- .btn-outline {
- background: transparent;
- border: 1px solid var(--border);
- color: var(--foreground);
- }
-
- .btn-outline:hover {
- background: var(--card);
- border-color: var(--muted);
- }
-
- .mobile-menu-btn {
- display: none;
- background: transparent;
- border: none;
- color: var(--foreground);
- cursor: pointer;
- padding: 8px;
- }
-
- .mobile-nav {
- display: none;
- position: fixed;
- top: 72px;
- left: 0;
- right: 0;
- background: var(--background);
- border-bottom: 1px solid var(--border);
- padding: 24px;
- z-index: 49;
- }
-
- .mobile-nav.active {
- display: block;
- }
-
- .mobile-nav a:not(.btn) {
- display: flex;
- align-items: center;
- padding: 12px 0;
- font-size: 1rem;
- color: var(--muted);
- border-bottom: 1px solid var(--border);
- }
-
- .mobile-nav a:not(.btn):hover {
- color: var(--foreground);
- }
-
- .mobile-nav .btn {
- display: flex;
- width: 100%;
- margin-top: 12px;
- padding: 12px 20px;
- justify-content: center;
- font-size: 1rem;
- }
-
- /* Ghost and search buttons are transparent in the navbar; in the menu they get a filled look. */
- .mobile-nav .btn-ghost,
- .mobile-nav .btn-search {
- background: var(--card);
- border: 1px solid var(--border);
- color: var(--foreground);
- }
-
- .mobile-nav .btn-ghost:hover,
- .mobile-nav .btn-search:hover {
- background: var(--card-hover);
- border-color: var(--muted);
- }
-
- main {
- margin-top: 50px;
- }
-
- .hero {
- padding: 160px 0 100px;
- position: relative;
- overflow: hidden;
- }
-
- .hero-grid {
- position: absolute;
- inset: 0;
- background-image: linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
- background-size: 60px 60px;
- mask-image: radial-gradient(ellipse at center, black 20%, transparent 70%);
- }
-
- .hero-content {
- position: relative;
- text-align: center;
- max-width: 800px;
- margin: 0 auto;
- }
-
- .badge {
- display: inline-flex;
- align-items: center;
- gap: 8px;
- padding: 6px 16px;
- background: var(--card);
- border: 1px solid var(--border);
- border-radius: 100px;
- font-size: 0.875rem;
- margin-bottom: 32px;
- }
-
- .badge-dot {
- width: 6px;
- height: 6px;
- background: var(--success);
- border-radius: 50%;
- animation: pulse 2s infinite;
- }
-
- @keyframes pulse {
-
- 0%,
- 100% {
- opacity: 1;
- }
-
- 50% {
- opacity: 0.5;
- }
- }
-
- .hero h1 {
- font-size: clamp(2.5rem, 6vw, 4rem);
- font-weight: 700;
- letter-spacing: -0.03em;
- line-height: 1.1;
- margin-bottom: 24px;
- }
-
- .hero p {
- font-size: 1.125rem;
- color: var(--muted);
- max-width: 600px;
- margin: 0 auto 40px;
- }
-
- .hero-buttons {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 16px;
- flex-wrap: wrap;
- }
-
- .hero-buttons .btn {
- padding: 14px 28px;
- font-size: 1rem;
- }
-
- .blog-hero-section {
- padding: 40px 0;
- border-top: 1px solid var(--border);
- border-bottom: 1px solid var(--border);
- padding-top: 60px;
- }
-
- .blog-h1 {
- font-weight: 800;
- font-size: 44px;
- }
-
- .stats {
- padding: 40px 0;
- border-top: 1px solid var(--border);
- border-bottom: 1px solid var(--border);
- }
-
- .stats-grid {
- display: grid;
- grid-template-columns: repeat(4, 1fr);
- gap: 48px;
- text-align: center;
- }
-
- .stat-item h3 {
- font-size: 3rem;
- font-weight: 700;
- letter-spacing: -0.02em;
- margin-bottom: 8px;
- }
-
- .stat-item p {
- color: var(--muted);
- font-size: 0.875rem;
- }
-
- .features {
- padding: 120px 0;
- }
-
- .section-header {
- text-align: center;
- max-width: 600px;
- margin: 0 auto 64px;
- }
-
- .section-header h2 {
- font-size: 2.5rem;
- font-weight: 700;
- letter-spacing: -0.02em;
- margin-bottom: 16px;
- }
-
- .section-header p {
- color: var(--muted);
- font-size: 1.125rem;
- }
-
- .features-grid {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
- gap: 24px;
- }
-
- .feature-card {
- background: var(--card);
- border: 1px solid var(--border);
- border-radius: 16px;
- padding: 32px;
- transition: all 0.3s;
- }
-
- .feature-card:hover {
- background: var(--card-hover);
- border-color: var(--border);
- transform: translateY(-4px);
- }
-
- .feature-icon {
- width: 48px;
- height: 48px;
- background: var(--background);
- border: 1px solid var(--border);
- border-radius: 12px;
- display: flex;
- align-items: center;
- justify-content: center;
- margin-bottom: 20px;
- }
-
- .feature-icon svg {
- width: 24px;
- height: 24px;
- stroke: var(--foreground);
- }
-
- .feature-card h3 {
- font-size: 1.125rem;
- font-weight: 600;
- margin-bottom: 12px;
- }
-
- .feature-card p {
- color: var(--muted);
- font-size: 0.9375rem;
- line-height: 1.6;
- }
-
- .testimonials {
- padding: 120px 0;
- background: var(--card);
- }
-
- .testimonials-grid {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
- gap: 24px;
- }
-
- .testimonial-card {
- background: var(--background);
- border: 1px solid var(--border);
- border-radius: 16px;
- padding: 32px;
- }
-
- .testimonial-card p {
- font-size: 1rem;
- line-height: 1.7;
- margin-bottom: 24px;
- }
-
- .testimonial-author {
- display: flex;
- align-items: center;
- gap: 12px;
- }
-
- .testimonial-avatar {
- width: 44px;
- height: 44px;
- background: linear-gradient(135deg, var(--avatar-from) 0%, var(--avatar-to) 100%);
- border-radius: 50%;
- display: flex;
- align-items: center;
- justify-content: center;
- font-weight: 600;
- font-size: 1rem;
- }
-
- .testimonial-info h4 {
- font-weight: 600;
- font-size: 0.9375rem;
- }
-
- .testimonial-info span {
- color: var(--muted);
- font-size: 0.875rem;
- }
-
- .pricing {
- padding: 120px 0;
- }
-
- .pricing-grid {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
- gap: 24px;
- align-items: start;
- }
-
- .pricing-card {
- background: var(--card);
- border: 1px solid var(--border);
- border-radius: 20px;
- padding: 40px;
- position: relative;
- transition: transform 0.3s;
- }
-
- .pricing-card:hover {
- transform: translateY(-4px);
- }
-
- .pricing-card.featured {
- border-color: var(--foreground);
- transform: scale(1.02);
- }
-
- .pricing-card.featured:hover {
- transform: scale(1.02) translateY(-4px);
- }
-
- .pricing-popular {
- position: absolute;
- top: -12px;
- left: 50%;
- transform: translateX(-50%);
- background: var(--foreground);
- color: var(--background);
- padding: 6px 16px;
- border-radius: 100px;
- font-size: 0.75rem;
- font-weight: 600;
- text-transform: uppercase;
- letter-spacing: 0.05em;
- }
-
- .pricing-card h3 {
- font-size: 1.25rem;
- font-weight: 600;
- margin-bottom: 8px;
- }
-
- .pricing-card .price {
- font-size: 3rem;
- font-weight: 700;
- letter-spacing: -0.02em;
- margin-bottom: 8px;
- }
-
- .pricing-card .price span {
- font-size: 1rem;
- font-weight: 400;
- color: var(--muted);
- }
-
- .pricing-card .description {
- color: var(--muted);
- font-size: 0.9375rem;
- margin-bottom: 32px;
- }
-
- .pricing-features {
- list-style: none;
- margin-bottom: 32px;
- }
-
- .pricing-features li {
- display: flex;
- align-items: center;
- gap: 12px;
- padding: 10px 0;
- font-size: 0.9375rem;
- }
-
- .pricing-features li svg {
- width: 20px;
- height: 20px;
- stroke: var(--success);
- flex-shrink: 0;
- }
-
- .pricing-card .btn {
- width: 100%;
- padding: 14px 24px;
- }
-
- .cta {
- padding: 120px 0;
- text-align: center;
- }
-
- .cta-inner {
- max-width: 700px;
- margin: 0 auto;
- }
-
- .cta h2 {
- font-size: 2.5rem;
- font-weight: 700;
- letter-spacing: -0.02em;
- margin-bottom: 16px;
- }
-
- .cta p {
- color: var(--muted);
- font-size: 1.125rem;
- margin-bottom: 40px;
- }
-
- .cta-buttons {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 16px;
- }
-
- .cta-buttons .btn {
- padding: 14px 28px;
- font-size: 1rem;
- }
-
- .text-section {
- padding: 40px 0;
- }
-
- .text-section h2 {
- font-size: 2rem;
- font-weight: 700;
- margin-bottom: 24px;
- }
-
- .text-content {
- color: var(--muted);
- font-size: 1.0625rem;
- line-height: 1.8;
- }
-
- .text-content h3 {
- display: block;
- width: fit-content;
- border-bottom: 1px solid var(--foreground);
- padding-bottom: 5px;
- margin-bottom: 5px;
- }
-
-
- .image-section {
- padding: 40px 0;
- }
-
- .image-section figure {
- margin: 0;
- }
-
- .image-section img {
- border-radius: 16px;
- width: 100%;
- }
-
- .image-section figcaption {
- margin-top: 16px;
- text-align: center;
- color: var(--muted);
- font-size: 0.875rem;
- }
-
- .image-text {
- padding: 60px 0;
- }
-
- .image-text-grid {
- display: grid;
- grid-template-columns: 1fr 1fr;
- gap: 60px;
- align-items: center;
- }
-
- .image-text-grid.image-text-right {
- grid-template-columns: 1fr 1fr;
- direction: rtl;
- }
-
- .image-text-grid.image-text-right>* {
- direction: ltr;
- }
-
- .image-text-image img {
- width: 100%;
- height: auto;
- border-radius: 12px;
- display: block;
- }
-
- .image-text-content h2 {
- font-size: 2.5rem;
- font-weight: 700;
- margin: 16px 0 12px;
- line-height: 1.2;
- }
-
- .image-text-content .section-subtitle {
- font-size: 0.875rem;
- text-transform: uppercase;
- letter-spacing: 0.05em;
- color: var(--muted);
- margin-bottom: 8px;
- }
-
- .image-text-content .text-content {
- font-size: 1rem;
- line-height: 1.6;
- color: var(--muted);
- margin: 20px 0 24px;
- }
-
- .image-text-content .btn {
- display: inline-block;
- margin-top: 12px;
- }
-
- .product-cards {
- padding: 60px 0;
- }
-
- .product-cards .section-header {
- margin-bottom: 48px;
- text-align: center;
- }
-
- .products-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
- gap: 32px;
- }
-
- .product-card {
- background: var(--card);
- border: 1px solid var(--border);
- border-radius: 12px;
- padding: 32px 24px;
- text-align: center;
- transition: all 0.3s;
- }
-
- .product-card:hover {
- border-color: var(--foreground);
- box-shadow: 0 8px 24px rgba(255, 255, 255, 0.05);
- transform: translateY(-4px);
- }
-
- .product-image {
- margin-bottom: 20px;
- display: flex;
- justify-content: center;
- height: 48px;
- }
-
- .product-image img {
- width: 48px;
- height: 48px;
- object-fit: contain;
- }
-
- .product-card h3 {
- font-size: 1.125rem;
- font-weight: 600;
- margin: 16px 0 8px;
- }
-
- .product-description {
- font-size: 0.875rem;
- color: var(--muted);
- line-height: 1.5;
- margin: 12px 0 16px;
- }
-
- .product-features {
- list-style: none;
- padding: 0;
- margin: 16px 0 24px;
- text-align: left;
- }
-
- .product-features li {
- font-size: 0.875rem;
- color: var(--muted);
- padding: 6px 0 6px 24px;
- position: relative;
- }
-
- .product-features li::before {
- content: "✓";
- position: absolute;
- left: 0;
- color: var(--success);
- font-weight: 600;
- }
-
- .product-card .btn-sm {
- font-size: 0.8125rem;
- padding: 8px 16px;
- }
-
- .video-section {
- padding: 40px 0;
- }
-
- .video-wrapper {
- position: relative;
- width: 100%;
- padding-bottom: 56.25%;
- height: 0;
- overflow: hidden;
- border-radius: 16px;
- background: var(--card);
- border: 1px solid var(--border);
- }
-
- .video-wrapper iframe,
- .video-wrapper video {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- border-radius: 16px;
- }
-
- .video-wrapper video {
- object-fit: cover;
- }
-
- .video-caption {
- margin-top: 16px;
- text-align: center;
- color: var(--muted);
- font-size: 0.875rem;
- }
-
- .gallery-section {
- padding: 40px 0;
- }
-
- .gallery-grid {
- display: grid;
- grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
- gap: 24px;
- }
-
- .gallery-item {
- position: relative;
- overflow: hidden;
- border-radius: 12px;
- background: var(--card);
- border: 1px solid var(--border);
- transition: all 0.3s;
- }
-
- .gallery-item:hover {
- transform: translateY(-4px);
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
- }
-
- .gallery-item img {
- width: 100%;
- height: 100%;
- object-fit: cover;
- display: block;
- aspect-ratio: 4/3;
- }
-
- .gallery-caption {
- padding: 16px;
- font-size: 0.875rem;
- color: var(--muted);
- background: var(--card);
- border-top: 1px solid var(--border);
- }
-
- .faq-section {
- padding: 40px 0;
- }
-
- .faq-list {
- max-width: 800px;
- margin: 0 auto;
- }
-
- .faq-item {
- background: var(--card);
- border: 1px solid var(--border);
- border-radius: 12px;
- margin-bottom: 16px;
- overflow: hidden;
- transition: all 0.3s;
- }
-
- .faq-item:hover {
- border-color: var(--muted);
- }
-
- .faq-item[open] {
- border-color: var(--foreground);
- }
-
- .faq-question {
- padding: 20px 24px;
- font-size: 1.0625rem;
- font-weight: 600;
- cursor: pointer;
- user-select: none;
- list-style: none;
- display: flex;
- align-items: center;
- justify-content: space-between;
- transition: all 0.2s;
- }
-
- .faq-question::-webkit-details-marker {
- display: none;
- }
-
- .faq-question::after {
- content: '+';
- font-size: 1.5rem;
- font-weight: 300;
- color: var(--muted);
- transition: transform 0.3s;
- }
-
- .faq-item[open] .faq-question::after {
- transform: rotate(45deg);
- }
-
- .faq-question:hover {
- color: var(--foreground);
- }
-
- .faq-answer {
- padding: 0 24px 20px 24px;
- color: var(--muted);
- font-size: 0.9375rem;
- line-height: 1.7;
- }
-
- .team-section {
- padding: 40px 0;
- }
-
- .team-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
- gap: 32px;
- }
-
- .team-member {
- background: var(--card);
- border: 1px solid var(--border);
- border-radius: 16px;
- padding: 32px;
- text-align: center;
- transition: all 0.3s;
- }
-
- .team-member:hover {
- transform: translateY(-4px);
- border-color: var(--muted);
- }
-
- .team-photo,
- .team-avatar {
- width: 80px;
- height: 80px;
- border-radius: 50%;
- margin: 0 auto 20px;
- }
-
- .team-photo {
- object-fit: cover;
- border: 2px solid var(--border);
- }
-
- .team-avatar {
- background: linear-gradient(135deg, var(--avatar-from) 0%, var(--avatar-to) 100%);
- display: flex;
- align-items: center;
- justify-content: center;
- font-weight: 700;
- font-size: 1.5rem;
- color: var(--foreground);
- }
-
- .team-member h3 {
- font-size: 1.125rem;
- font-weight: 600;
- margin-bottom: 8px;
- }
-
- .team-role {
- color: var(--muted);
- font-size: 0.875rem;
- margin-bottom: 16px;
- }
-
- .team-bio {
- color: var(--muted);
- font-size: 0.9375rem;
- line-height: 1.6;
- margin-bottom: 20px;
- }
-
- .team-social {
- display: flex;
- justify-content: center;
- gap: 12px;
- }
-
- .team-social-link {
- width: 36px;
- height: 36px;
- background: var(--background);
- border: 1px solid var(--border);
- border-radius: 8px;
- display: flex;
- align-items: center;
- justify-content: center;
- transition: all 0.2s;
- color: var(--foreground);
- }
-
- .team-social-link:hover {
- background: var(--card-hover);
- border-color: var(--foreground);
- }
-
- .team-social-link svg {
- width: 18px;
- height: 18px;
- }
-
- .audio-section {
- padding: 40px 0;
- }
-
- .audio-wrapper {
- max-width: 600px;
- margin: 0 auto;
- display: flex;
- flex-direction: column;
- align-items: center;
- gap: 24px;
- }
-
- .audio-player {
- width: 100%;
- height: 54px;
- border-radius: 12px;
- background: var(--card);
- border: 1px solid var(--border);
- }
-
- .audio-player::-webkit-media-controls-panel {
- background: var(--card);
- }
-
- .countdown-section {
- padding: 40px 0;
- }
-
- .countdown-timer {
- display: flex;
- justify-content: center;
- gap: 32px;
- flex-wrap: wrap;
- }
-
- .countdown-item {
- background: var(--card);
- border: 1px solid var(--border);
- border-radius: 16px;
- padding: 32px;
- min-width: 120px;
- text-align: center;
- transition: all 0.3s;
- }
-
- .countdown-item:hover {
- transform: translateY(-4px);
- border-color: var(--muted);
- }
-
- .countdown-value {
- font-size: 3rem;
- font-weight: 700;
- letter-spacing: -0.02em;
- line-height: 1;
- margin-bottom: 12px;
- }
-
- .countdown-label {
- font-size: 0.875rem;
- color: var(--muted);
- text-transform: uppercase;
- letter-spacing: 0.05em;
- }
-
- blockquote {
- position: relative;
- margin: 24px 0;
- padding: 20px 24px 20px 56px;
- background: var(--card);
- border-left: 4px solid var(--foreground);
- border-radius: 12px;
- font-size: 1.0625rem;
- line-height: 1.7;
- color: var(--foreground);
- font-style: italic;
- }
-
- blockquote::before {
- content: '"';
- position: absolute;
- left: 16px;
- top: 12px;
- font-size: 3rem;
- font-weight: 700;
- color: var(--muted);
- opacity: 0.3;
- line-height: 1;
- font-family: "Times New Roman", Times, serif;
- }
-
- blockquote p {
- margin: 0;
- }
-
- blockquote cite {
- display: block;
- margin-top: 12px;
- font-size: 0.875rem;
- color: var(--muted);
- font-style: normal;
- }
-
- blockquote cite::before {
- content: '— ';
- }
-
- .newsletter-section {
- padding: 40px 0;
- background: var(--card);
- }
-
- .newsletter-inner {
- max-width: 600px;
- margin: 0 auto;
- text-align: center;
- }
-
- .newsletter-section h2 {
- font-size: 2rem;
- font-weight: 700;
- letter-spacing: -0.02em;
- margin-bottom: 16px;
- }
-
- .newsletter-section p {
- color: var(--muted);
- font-size: 1.0625rem;
- margin-bottom: 32px;
- }
-
- .newsletter-form {
- display: flex;
- gap: 12px;
- max-width: 500px;
- margin: 0 auto;
- }
-
- .newsletter-input {
- flex: 1;
- padding: 14px 20px;
- border: 1px solid var(--border);
- border-radius: 8px;
- background: var(--background);
- color: var(--foreground);
- font-size: 1rem;
- font-family: inherit;
- transition: all 0.2s;
- }
-
- .newsletter-input:focus {
- outline: none;
- border-color: var(--foreground);
- }
-
- .newsletter-input::placeholder {
- color: var(--muted);
- }
-
-
-
- .footer {
- padding: 40px 0 40px;
- border-top: 1px solid var(--border);
- }
-
- .footer-grid {
- display: grid;
- grid-template-columns: 2fr repeat(4, 1fr);
- gap: 64px;
- margin-bottom: 64px;
- }
-
- .footer-brand h3 {
- font-size: 1.5rem;
- font-weight: 700;
- margin-bottom: 16px;
- display: flex;
- align-items: center;
- gap: 10px;
- }
-
- .footer-brand h3 img {
- height: 28px;
- width: auto;
- }
-
- .footer-brand p {
- color: var(--muted);
- font-size: 0.9375rem;
- max-width: 280px;
- margin-bottom: 24px;
- }
-
- .social-links {
- display: flex;
- gap: 12px;
- }
-
- .social-links a {
- width: 40px;
- height: 40px;
- background: var(--card);
- border: 1px solid var(--border);
- border-radius: 8px;
- display: flex;
- align-items: center;
- justify-content: center;
- transition: all 0.2s;
- }
-
- .social-links a:hover {
- background: var(--card-hover);
- border-color: var(--muted);
- }
-
- .social-links svg {
- width: 18px;
- height: 18px;
- fill: var(--foreground);
- }
-
- .footer-column h4 {
- font-size: 0.875rem;
- font-weight: 600;
- text-transform: uppercase;
- letter-spacing: 0.05em;
- margin-bottom: 20px;
- }
-
- .footer-column ul {
- list-style: none;
- }
-
- .footer-column li {
- margin-bottom: 12px;
- }
-
- .footer-column a {
- color: var(--muted);
- font-size: 0.9375rem;
- transition: color 0.2s;
- }
-
- .footer-column a:hover {
- color: var(--foreground);
- }
-
- .footer-bottom {
- display: flex;
- align-items: flex-start;
- justify-content: space-between;
- padding-top: 32px;
- border-top: 1px solid var(--border);
- gap: 24px;
- }
-
- .footer-bottom p {
- color: var(--muted);
- font-size: 0.875rem;
- }
-
- .footer-legal {
- display: flex;
- gap: 24px;
- }
-
- .footer-legal a {
- color: var(--muted);
- font-size: 0.875rem;
- transition: color 0.2s;
- }
-
- .footer-legal a:hover {
- color: var(--foreground);
- }
-
- .footer-language {
- margin-left: 10px;
- }
-
- .footer-language select {
- background-color: var(--card);
- border: 1px solid var(--border);
- color: var(--foreground);
- padding: 10px 36px 10px 16px;
- border-radius: 8px;
- font-size: 0.875rem;
- font-weight: 500;
- cursor: pointer;
-
- appearance: none;
- -webkit-appearance: none;
- -moz-appearance: none;
-
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888888' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
- background-repeat: no-repeat;
- background-position: right 12px center;
- transition: all 0.2s;
- min-width: 140px;
- max-width: 200px;
- font-family: inherit;
- }
-
- .footer-language select option {
- background-color: #1a1a1a;
- color: #ffffff;
- padding: 12px;
- }
-
- :root[data-theme="light"] .footer-language select option {
- background-color: #ffffff;
- color: #111111;
- }
-
- .footer-language select:hover {
- background-color: var(--card-hover);
- border-color: var(--muted);
- }
-
- .footer-language select:focus {
- outline: none;
- border-color: var(--foreground);
- background-color: var(--card-hover);
- }
-
- :root[data-theme="light"] .footer-language select {
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
- }
-
- @media (max-width: 768px) {
- .footer-bottom {
- flex-direction: column;
- gap: 16px;
- align-items: flex-start;
- }
-
- .footer-language {
- margin-left: 0 !important;
- width: 100%;
- order: 1;
- }
-
- .footer-language select {
- width: 100%;
- max-width: 100%;
- -webkit-appearance: menulist;
- appearance: menulist;
- background-image: none;
- padding-right: 10px;
- }
-
- .footer-legal {
- flex-direction: column;
- align-items: flex-start;
- }
-
- .theme-toggle {
- order: 3;
- }
- }
-
- @media (max-width: 480px) {
- .footer-language select {
- font-size: 0.8125rem;
- padding: 8px 12px;
- }
- }
-
- .theme-toggle {
- background: var(--card);
- border: 1px solid var(--border);
- color: var(--foreground);
- padding: 8px 12px;
- border-radius: 8px;
- cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 6px;
- font-size: 0.875rem;
- transition: all 0.2s;
- }
-
- .theme-toggle:hover {
- background: var(--card-hover);
- border-color: var(--muted);
- }
-
- .theme-toggle svg {
- width: 18px;
- height: 18px;
- stroke: currentColor;
- fill: none;
- stroke-width: 2;
- }
-
- @media (max-width: 1024px) {
-
- .features-grid,
- .testimonials-grid,
- .pricing-grid {
- grid-template-columns: repeat(2, 1fr);
- }
-
- .pricing-card.featured {
- transform: none;
- }
-
- .footer-grid {
- grid-template-columns: repeat(3, 1fr);
- gap: 48px;
- }
-
- .footer-brand {
- grid-column: span 3;
- }
-
- .team-grid {
- grid-template-columns: repeat(2, 1fr);
- }
- }
-
- @media (max-width: 768px) {
-
- .nav-links,
- .nav-buttons {
- display: none;
- }
-
- .mobile-menu-btn {
- display: block;
- }
-
- .stats-grid {
- grid-template-columns: repeat(2, 1fr);
- gap: 32px;
- }
-
- .countdown-timer {
- gap: 16px;
- }
-
- .countdown-item {
- min-width: 100px;
- padding: 24px;
- }
-
- .countdown-value {
- font-size: 2.5rem;
- }
-
- .newsletter-form {
- flex-direction: column;
- }
-
- .newsletter-input,
- .newsletter-form .btn {
- width: 100%;
- }
-
- .features-grid,
- .testimonials-grid,
- .pricing-grid {
- grid-template-columns: 1fr;
- }
-
- .image-text-grid,
- .image-text-grid.image-text-right {
- grid-template-columns: 1fr;
- gap: 40px;
- }
-
- .image-text-grid.image-text-right {
- direction: ltr;
- }
-
- .image-text-content h2 {
- font-size: 1.875rem;
- }
-
- .products-grid {
- grid-template-columns: 1fr;
- gap: 24px;
- }
-
- .product-card {
- padding: 24px 16px;
- }
-
- .gallery-grid {
- grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
- gap: 16px;
- }
-
- .team-grid {
- grid-template-columns: 1fr;
- }
-
- .footer-grid {
- grid-template-columns: repeat(2, 1fr);
- gap: 40px;
- }
-
- .footer-brand {
- grid-column: span 2;
- }
-
- .footer-bottom {
- flex-direction: column;
- gap: 16px;
- align-items: flex-start;
- }
-
- .footer-legal {
- flex-direction: column;
- align-items: flex-start;
- }
- }
-
- @media (max-width: 480px) {
- .hero h1 {
- font-size: 2rem;
- }
-
- .blog-h1 {
- font-size: 1.8rem;
- }
-
- .text-content {
- font-size: 1rem;
- }
-
- .container h2 {
- font-size: 1.5rem;
- }
-
- .section-header h2,
- .cta h2 {
- font-size: 1.75rem;
- }
-
- .hero-buttons,
- .cta-buttons {
- flex-direction: column;
- width: 100%;
- }
-
- .hero-buttons .btn,
- .cta-buttons .btn {
- width: 100%;
- }
-
- .stat-item h3 {
- font-size: 2rem;
- }
-
- .gallery-grid {
- grid-template-columns: 1fr;
- }
-
- .footer-grid {
- grid-template-columns: 1fr;
- }
-
- .footer-brand {
- grid-column: span 1;
- }
- }
-
- .nav-icon {
- width: 1.15em;
- height: 1.15em;
- flex-shrink: 0;
- vertical-align: -0.2em;
- }
-
- /* The link text is a text node, so :last-child can't tell an icon-only link apart;
- a flex gap spaces the icon from the text and adds nothing when there is no text. */
- .nav-links a,
- .nav-buttons .btn,
- .mobile-nav a {
- gap: 7px;
- }
-