-
-
-
-
-
-
- {{ i18n "seen_on"
-
-
-
-
- {{ i18n "hero" }}
+
@@ -150,7 +151,7 @@
- {{ i18n "hero" }}
+
+
+
+
+
+
+
+ {{ replace (i18n "hero") (i18n "hero_highlight_word") (print "" (i18n "hero_highlight_word") "") | safeHTML }}
{{ i18n "seo_script_product" | safeHTML }}
-
+
{{ i18n "hero_desc" | safeHTML }}
-
-
-
-
-
-
- {{ i18n "hero_button_underline" | safeHTML }}
-
+
+
+
+ {{ i18n "hero_stat_value" }}
+ {{ i18n "hero_stat_label" }}
+
+
-
-
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
+
-
-
- + {{ replace (i18n "hero") (i18n "hero_highlight_word") (print "" (i18n "hero_highlight_word") "") | safeHTML }}
{{ i18n "seo_script_product" | safeHTML }}
- +
{{ i18n "hero_desc" | safeHTML }}
-
-
-
- {{ i18n "hero_button_underline" | safeHTML }}
-
+
-
+
+
+
+ {{ i18n "hero_stat_value" }}
+ {{ i18n "hero_stat_label" }}
+
-
-
+
-
-
+
+
+
+
+ {{ i18n "seen_on"
-
+
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html
index d14ef94..5f74b9d 100644
--- a/layouts/partials/footer.html
+++ b/layouts/partials/footer.html
@@ -228,14 +228,6 @@ Downloads
+
+
+
+
@@ -109,152 +109,247 @@
-
+ data-header-fix-effect="slide">
-
+
-
+
+
+
+
+
+ -
+
+
+
+ {{ i18n "header_feature_email_aliases" }}
+ {{ i18n "header_feature_email_aliases_desc" }}
+
+
+
+
+ -
+
+
+
+ {{ i18n "header_feature_custom_domains" }}
+ {{ i18n "header_feature_custom_domains_desc" }}
+
+
+
+
+ -
+
+
+
+ {{ i18n "header_feature_browser_extensions" }}
+ {{ i18n "header_feature_browser_extensions_desc" }}
+
+
+
+
+ -
+
+
+
+ {{ i18n "header_feature_signin_with_sl" }}
+ {{ i18n "header_feature_signin_with_sl_desc" }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ {{ i18n "header_resource_blog" }}
+ {{ i18n "header_resource_blog_desc" }}
+
+
+
+
+ -
+
+
+
+ {{ i18n "header_resource_documentation" }}
+ {{ i18n "header_resource_documentation_desc" }}
+
+
+
+
+ -
+
+
+
+ {{ i18n "header_resource_faq" }}
+ {{ i18n "header_resource_faq_desc" }}
+
+
+
+
+ -
+
+
+
+ {{ i18n "header_resource_forum" }}
+ {{ i18n "header_resource_forum_desc" }}
+
+
+
+
+ -
+
+
+
+ {{ i18n "header_resource_github" }}
+ {{ i18n "header_resource_github_desc" }}
+
+
+
+
+ -
+
+
+
+ {{ i18n "header_resource_status" }}
+ {{ i18n "header_resource_status_desc" }}
+
+
+
+
+
+
+
+
+ {{ i18n "header_resource_comparisons" }}
+
+
+
+
+
+
+
+
diff --git a/static/custom.css b/static/custom.css
index 9f0d256..05531be 100644
--- a/static/custom.css
+++ b/static/custom.css
@@ -150,5 +150,836 @@ img {
}
.submenu-item:hover {
- background-color: #e1e3eb;
+ background-color: var(--sl-submenu-accent-light);
+}
+
+/* Header Nav */
+
+header nav .u-header__nav-link {
+ color: #1a202c;
+ transition: all 0.2s ease;
+}
+
+header nav .u-header__nav-item:hover > .u-header__nav-link,
+header nav .u-header__nav-item:focus-within > .u-header__nav-link {
+ color: var(--sl-submenu-accent);
+}
+
+header .btn-create-free-account,
+header nav .btn-sign-in {
+ border-radius: 16px;
+ font-size: 0.9em;
+ padding: 0.25rem 1rem;
+ text-decoration: none;
+}
+
+header .btn-create-free-account {
+ background-color: var(--sl-submenu-accent);
+ border-color: var(--sl-submenu-accent);
+ color: var(--sl-drawer-bg);
+ transition: background-color 0.2s ease, border-color 0.2s ease;
+}
+
+header .btn-create-free-account:hover {
+ background-color: var(--sl-submenu-accent-hover);
+ border-color: var(--sl-submenu-accent-hover);
+ color: var(--sl-drawer-bg);
+}
+
+header .btn-create-free-account:focus,
+header .btn-create-free-account:active {
+ color: var(--sl-drawer-bg);
+}
+
+header nav .btn-sign-in {
+ background-color: #fff;
+ color: var(--sl-submenu-accent);
+}
+
+header nav .btn-sign-in:hover,
+header nav .btn-sign-in:focus,
+header nav .btn-sign-in:active {
+ background-color: var(--sl-submenu-accent-hover);
+ border-color: var(--sl-submenu-accent-hover);
+ color: var(--sl-drawer-bg);
+ text-decoration: none;
+}
+
+header nav .u-header__nav-item.sl-nav-signin:hover > .btn-sign-in,
+header nav .u-header__nav-item.sl-nav-signin:focus-within > .btn-sign-in {
+ color: var(--sl-drawer-bg);
+}
+
+
+/* custom container */
+
+.container-fluid {
+ padding-left: 1rem;
+ padding-right: 1rem;
+}
+
+@media screen and (min-width: 992px) {
+ .container-fluid {
+ padding-left: 4rem;
+ padding-right: 4rem;
+ }
+}
+
+/* Navbar */
+
+#header .navbar-nav {
+ width: 100%;
+}
+
+/* ============================================
+ HEADER — Modern Navigation
+ ============================================
+ Breakpoints (min-width, mobile-first):
+ <1278px → Full-screen drawer navigation
+ 1278px+ → Full inline nav, no hamburger
+
+ CSS custom properties cannot be used inside
+ @media rules (spec limitation). Breakpoint
+ values are literals; all other design tokens
+ live in :root.
+ ============================================ */
+
+:root {
+ --sl-bp-cta: 640px;
+ --sl-bp-signin: 768px;
+ --sl-bp-nav: 1278px;
+ --sl-header-z: 100;
+ --sl-overlay-bg: rgba(0, 0, 0, 0.40);
+ --sl-drawer-bg: #fff;
+ --sl-drawer-border: #e9ecef;
+ --sl-drawer-sep: #f0f2f5;
+ --sl-drawer-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
+ --sl-submenu-bg: #f8f9fa;
+ --sl-submenu-accent: #ea319f;
+ --sl-submenu-accent-hover: #d1287f;
+ --sl-submenu-accent-light: #fdeaf5;
+ --sl-submenu-accent-dark: #8f165c;
+ --sl-submenu-desc: #4f5458;
+ --sl-submenu-radius: 8px;
+ --sl-flyout-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
+
+ --sl-hero-bg: #fff;
+ --sl-hero-ink: #1a1a2e;
+ --sl-hero-body: #2d3748;
+ --sl-hero-muted: #6c7480;
+ --sl-hero-surface: #f8f9fb;
+ --sl-hero-border-soft: rgba(26, 32, 44, 0.08);
+ --sl-hero-shadow-accent: 0 8px 24px rgba(234, 49, 159, 0.28);
+ --sl-hero-shadow-accent-hover: 0 12px 28px rgba(234, 49, 159, 0.34);
+ --sl-hero-shadow-secondary: 0 12px 24px rgba(26, 26, 46, 0.12);
+ --sl-hero-shadow-soft: 0 24px 48px rgba(17, 22, 34, 0.10);
+}
+
+/* ——— Always-on base rules ——— */
+
+#header .u-header__navbar {
+ padding: 16px;
+}
+
+#header {
+ z-index: var(--sl-header-z);
+}
+
+.sl-page-shell {
+ min-height: 100vh;
+}
+
+.sl-header-sticky {
+ position: sticky;
+ top: 0;
+}
+
+.sl-menu-toggle {
+ background: transparent;
+ border: 0;
+ cursor: pointer;
+}
+
+/* Single source of truth for top-level mega-menu chevrons */
+.sl-navbar .u-header__nav-link-toggle::after {
+ content: '\f078';
+ color: var(--sl-submenu-accent);
+ flex-shrink: 0;
+ font-family: 'Font Awesome 5 Free';
+ font-size: 0.95rem;
+ font-weight: 900;
+ line-height: 1;
+ margin-left: 0.75rem;
+ transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
+}
+
+.sl-navbar .u-header__nav-link-toggle[aria-expanded="true"]::after {
+ transform: rotate(180deg);
+}
+
+.sl-header-actions {
+ align-items: center;
+ display: flex;
+ gap: 0.5rem;
+}
+
+.sl-header-cta-top,
+.sl-header-signin-top {
+ display: none;
+}
+
+/* =============================================
+ MEGA-MENU PANELS
+ Panels live outside the header in the DOM so
+ they are not trapped in its stacking context.
+ z-index 102 > overlay 101 > header 100.
+ ============================================= */
+
+.sl-mega-panel {
+ background: var(--sl-drawer-bg);
+ border-radius: var(--sl-submenu-radius);
+ box-shadow: var(--sl-flyout-shadow);
+ display: none;
+ overflow: hidden;
+ position: fixed;
+ z-index: 102;
+}
+
+.sl-mega-panel.is-open {
+ display: block;
+}
+
+/* On mobile the panel is moved into the nav drawer by JS;
+ fixed positioning must be reset to flow naturally. */
+@media (max-width: 1277px) {
+ .sl-mega-panel {
+ border-top: 1px solid var(--sl-drawer-border);
+ box-shadow: none;
+ position: static;
+ width: 100%;
+ }
+
+ .sl-mega-panel .u-header__mega-menu-wrapper {
+ padding: 0;
+ }
+
+ .sl-submenu-grid {
+ grid-template-columns: 1fr;
+ }
+
+ .sl-mega-panel .u-header__sub-menu-nav-link {
+ padding: 0.625rem 1.5rem;
+ }
+
+ .sl-submenu-sidebar {
+ display: none;
+ }
+
+ #resourcesMegaMenuContent .row {
+ display: block;
+ }
+
+ #resourcesMegaMenuContent .col-7 {
+ flex: 0 0 100%;
+ max-width: 100%;
+ padding: 0;
+ }
+}
+
+@media (min-width: 1278px) {
+ .sl-mega-panel .u-header__mega-menu-wrapper {
+ padding: 12px;
+ }
+
+ .sl-submenu-grid {
+ grid-template-columns: 1fr 1fr;
+ }
+
+ .sl-mega-panel .u-header__sub-menu-nav-link {
+ padding: 0.625rem 0.75rem;
+ }
+
+ .sl-submenu-sidebar {
+ display: block;
+ }
+
+ #resourcesMegaMenuContent .row {
+ display: flex;
+ }
+
+ #resourcesMegaMenuContent .col-7 {
+ flex: 0 0 58.333%;
+ max-width: 58.333%;
+ padding: 1rem;
+ }
+
+ .sl-submenu-main-col {
+ padding: 1rem;
+ }
+
+ .sl-submenu-sidebar {
+ padding: 1rem;
+ }
+}
+
+/* =============================================
+ SUBMENU SHARED STYLES
+ ============================================= */
+
+.sl-submenu-grid {
+ display: grid;
+ gap: 0.25rem;
+ list-style: none;
+}
+
+.sl-mega-panel .u-header__sub-menu-nav-link {
+ align-items: flex-start;
+ display: flex;
+ gap: 0.75rem;
+}
+
+.sl-mega-panel .u-header__sub-menu-nav-link .sl-sumbenu-title {
+ color: var(--sl-submenu-accent-dark);
+}
+
+.sl-mega-panel .u-header__sub-menu-nav-link:hover .sl-sumbenu-title {
+ color: var(--sl-submenu-accent);
+}
+
+.sl-mega-panel .u-header__sub-menu-nav-link:hover,
+.sl-mega-panel .u-header__sub-menu-nav-link:focus {
+ color: var(--sl-submenu-accent);
+}
+
+.sl-submenu-icon {
+ align-items: center;
+ color: var(--sl-submenu-accent);
+ display: flex;
+ font-size: 1rem;
+ justify-content: center;
+ margin-top: 2px;
+ min-width: 20px;
+ width: 20px;
+}
+
+.sl-submenu-desc {
+ color: var(--sl-submenu-desc);
+ display: block;
+ font-size: 0.9rem;
+ font-weight: 400;
+ line-height: 1.4;
+ margin-top: 1px;
+}
+
+.sl-submenu-sidebar {
+ background-color: var(--sl-submenu-bg);
+ border-radius: 0 var(--sl-submenu-radius) var(--sl-submenu-radius) 0;
+}
+
+.sl-submenu-sidebar-title {
+ font-size: 0.7rem;
+ letter-spacing: 0.05em;
+}
+
+/* =============================================
+ MOBILE DRAWER — Full-screen drawer < 1278px
+ ============================================= */
+
+@media (max-width: 1277px) {
+ .sl-navbar .u-header__navbar-nav .sl-nav-pricing {
+ margin-right: 0;
+ }
+
+ #navBar {
+ background: var(--sl-drawer-bg);
+ bottom: 0;
+ display: flex;
+ flex-direction: column;
+ left: 0;
+ opacity: 0;
+ overflow: hidden;
+ pointer-events: none;
+ position: fixed;
+ right: 0;
+ top: 0;
+ transform: translateY(-10px);
+ transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
+ visibility: hidden;
+ z-index: 103;
+ }
+
+ #navBar.is-open {
+ opacity: 1;
+ pointer-events: auto;
+ transform: translateY(0);
+ visibility: visible;
+ }
+
+ /* Drawer logo + close row */
+ .sl-drawer-header {
+ align-items: center;
+ background: var(--sl-drawer-bg);
+ border-bottom: 1px solid var(--sl-drawer-border);
+ display: flex;
+ flex-shrink: 0;
+ justify-content: space-between;
+ padding: 1rem 1.5rem;
+ width: 100%;
+ }
+
+ .sl-drawer-close {
+ align-items: center;
+ background: transparent;
+ border: none;
+ border-radius: 8px;
+ color: #4a5568;
+ cursor: pointer;
+ display: flex;
+ font-size: 1.1rem;
+ height: 36px;
+ justify-content: center;
+ padding: 0;
+ transition: background 0.15s ease, color 0.15s ease;
+ width: 36px;
+ }
+
+ .sl-drawer-close:hover {
+ background: var(--sl-drawer-sep);
+ color: #1a202c;
+ }
+
+ /* Overlay for drawer (slightly more opaque) */
+ .sl-nav-overlay {
+ background: rgba(0, 0, 0, 0.50);
+ z-index: 102;
+ }
+
+ .sl-nav-overlay.is-visible {
+ opacity: 1;
+ visibility: visible;
+ }
+
+ /* Nav items: scrollable middle area */
+ .sl-navbar .u-header__navbar-nav {
+ display: flex;
+ flex-direction: column;
+ flex: 1;
+ gap: 0;
+ overflow-y: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+
+ .sl-navbar .u-header__navbar-nav > .u-header__nav-item,
+ .sl-navbar .u-header__navbar-nav > .sl-mega-panel {
+ width: 100%;
+ }
+
+ .sl-navbar .u-header__navbar-nav > .u-header__nav-item {
+ border-bottom: 1px solid var(--sl-drawer-sep);
+ width: 100%;
+ }
+
+ /* Normalize horizontal gutters for Features, Resources and Pricing */
+ .sl-navbar #featuresMegaMenu,
+ .sl-navbar #resourcesMegaMenu,
+ .sl-navbar .u-header__navbar-nav > .u-header__nav-item:nth-child(3) > .u-header__nav-link {
+ padding-left: 1.5rem;
+ padding-right: 1.5rem;
+ }
+
+ /* Nav links with improved spacing */
+ .sl-navbar .u-header__navbar-nav .u-header__nav-link {
+ align-items: center;
+ display: flex;
+ justify-content: space-between;
+ padding: 1.1rem 1.5rem;
+ width: 100%;
+ font-weight: 500;
+ color: #1a202c;
+ font-size: 1rem;
+ letter-spacing: 0.3px;
+ transition: background-color 0.15s ease;
+ }
+
+ .sl-navbar .u-header__navbar-nav .u-header__nav-link:active,
+ .sl-navbar .u-header__navbar-nav .u-header__nav-link:focus {
+ background-color: #f0f2f5;
+ }
+
+ /* =============================================
+ ACTION BUTTONS SECTION
+ ============================================= */
+
+ /* CTA button — Create free account */
+ .sl-nav-cta {
+ width: 100%;
+ padding: 0.75rem 1.5rem;
+ background: transparent;
+ border: none;
+ }
+
+ .sl-nav-cta .btn {
+ border-radius: 16px;
+ display: block;
+ font-size: 1rem;
+ font-weight: 600;
+ margin: 0;
+ padding: 0.85rem 1.5rem;
+ text-align: center;
+ text-decoration: none;
+ width: 100%;
+ }
+
+ .sl-navbar .u-header__navbar-nav .sl-nav-signin .btn-sign-in {
+ border-radius: 16px;
+ display: block;
+ font-size: 1rem;
+ font-weight: 600;
+ justify-content: center;
+ padding: 0.75rem 1.5rem;
+ text-align: center;
+ text-decoration: none;
+ width: 100%;
+ }
+
+ .sl-nav-cta .btn {
+ background-color: var(--sl-submenu-accent);
+ border-color: var(--sl-submenu-accent);
+ color: var(--sl-drawer-bg);
+ transition: all 0.2s ease;
+ box-shadow: 0 2px 8px rgba(234, 49, 159, 0.25);
+ }
+
+ .sl-nav-cta .btn:active {
+ color: var(--sl-drawer-bg);
+ transform: scale(0.98);
+ }
+
+ .sl-nav-cta .btn:hover,
+ .sl-nav-cta .btn:focus {
+ color: var(--sl-drawer-bg);
+ }
+
+ /* Sign in button — outline style */
+ .sl-nav-signin {
+ width: 100%;
+ border: 0;
+ padding: 0 1.5rem 0.75rem 1.5rem;
+ }
+
+ .sl-navbar .u-header__navbar-nav .sl-nav-signin .btn-sign-in {
+ border: 2px solid var(--sl-submenu-accent);
+ background-color: var(--sl-drawer-bg);
+ color: var(--sl-submenu-accent);
+ }
+
+ .sl-navbar .u-header__navbar-nav .sl-nav-signin .btn-sign-in:active {
+ background-color: var(--sl-submenu-accent-hover);
+ border-color: var(--sl-submenu-accent-hover);
+ color: var(--sl-drawer-bg);
+ }
+
+ .sl-navbar .u-header__navbar-nav .sl-nav-signin .btn-sign-in:hover,
+ .sl-navbar .u-header__navbar-nav .sl-nav-signin .btn-sign-in:focus {
+ background-color: var(--sl-submenu-accent-hover);
+ border-color: var(--sl-submenu-accent-hover);
+ color: var(--sl-drawer-bg);
+ text-decoration: none;
+ }
+
+ /* =============================================
+ DRAWER MENU CONTENT
+ ============================================= */
+
+ /* Mega-menu panels in drawer mode */
+ .sl-mega-panel {
+ border-radius: 0;
+ }
+
+ .sl-mega-panel .u-header__mega-menu-wrapper {
+ padding: 0 1.5rem;
+ }
+
+ /* Features and Resources list items */
+ .sl-mega-panel .u-header__sub-menu-nav-link {
+ padding: 0.875rem 0;
+ gap: 0.875rem;
+ }
+
+ .sl-submenu-desc {
+ display: none; /* Hide descriptions in drawer to save space */
+ }
+
+ .sl-submenu-icon {
+ font-size: 1rem;
+ min-width: 24px;
+ width: 24px;
+ }
+
+ .sl-submenu-sidebar {
+ display: none; /* Hide comparisons sidebar in drawer */
+ }
+
+}
+
+/* Hide mobile-only drawer elements at desktop */
+@media (min-width: 1278px) {
+ .sl-drawer-header {
+ display: none;
+ }
+}
+
+/* 640px+: show top CTA and hide drawer CTA item */
+@media (min-width: 640px) and (max-width: 1277px) {
+ .sl-header-cta-top {
+ align-items: center;
+ display: inline-flex;
+ }
+
+ .sl-nav-cta {
+ display: none;
+ }
+}
+
+/* 768px+: show top Sign in and hide drawer Sign in item */
+@media (min-width: 768px) and (max-width: 1277px) {
+ .sl-header-signin-top {
+ align-items: center;
+ display: inline-flex;
+ }
+
+ .sl-nav-signin {
+ display: none;
+ }
+}
+
+/* =============================================
+ 1278px — Full inline nav, no hamburger
+ ============================================= */
+
+@media (min-width: 1278px) {
+ .sl-navbar .navbar-toggler {
+ display: none;
+ }
+
+ /* ID selector (specificity 1,0,0) overrides Bootstrap's
+ .collapse:not(.show) { display: none } */
+ #navBar {
+ display: flex;
+ flex-basis: auto;
+ flex-grow: 1;
+ }
+
+ .sl-navbar .navbar-nav {
+ align-items: center;
+ flex-direction: row;
+ }
+
+ .sl-navbar .navbar-nav .u-header__nav-item > .u-header__nav-link {
+ padding-left: 0.75rem;
+ padding-right: 0.75rem;
+ }
+
+ .sl-navbar .u-header__navbar-nav .sl-nav-pricing {
+ margin-right: auto;
+ }
+
+ .sl-header-actions {
+ display: none;
+ }
+
+ .sl-nav-cta,
+ .sl-nav-signin {
+ display: list-item;
+ }
+
+ .sl-nav-cta .btn {
+ display: inline-block;
+ margin: 0;
+ width: auto;
+ }
+}
+
+/* =============================================
+ NAV OVERLAY
+ z-index 101: above header (100), below panels (102)
+ ============================================= */
+
+.sl-nav-overlay {
+ background: var(--sl-overlay-bg);
+ cursor: pointer;
+ inset: 0;
+ opacity: 0;
+ position: fixed;
+ transition: opacity 0.25s ease, visibility 0.25s ease;
+ visibility: hidden;
+ z-index: 101;
+}
+
+.sl-nav-overlay.is-visible {
+ opacity: 1;
+ visibility: visible;
+}
+
+/* =========================================================
+ HERO V2
+ ========================================================= */
+
+.sl-hero-section {
+ background: var(--sl-hero-bg);
+ padding-bottom: 2rem;
+ padding-top: 5rem;
+}
+
+.sl-hero-copy-col {
+ align-items: center;
+ display: flex;
+}
+
+.sl-hero-copy-wrap {
+ max-width: 38rem;
+}
+
+.sl-hero-headline {
+ color: var(--sl-hero-ink);
+ font-size: clamp(2.5rem, 5.2vw, 3.5rem);
+ font-weight: 800;
+ letter-spacing: -0.03em;
+ line-height: 1.1;
+ margin-bottom: 1rem;
+}
+
+.sl-hero-headline-highlight {
+ color: var(--sl-submenu-accent);
+}
+
+.sl-hero-description {
+ color: var(--sl-hero-body);
+ font-size: 1rem;
+ line-height: 1.7;
+ margin-bottom: 0.75rem;
+}
+
+.sl-hero-cta-row {
+ gap: 0.75rem;
+}
+
+.sl-hero-btn {
+ align-items: center;
+ display: inline-flex;
+ font-size: 1rem;
+ font-weight: 600;
+ gap: 0.5rem;
+ justify-content: center;
+ min-height: 44px;
+ min-width: 210px;
+ padding: 0.75rem 1.5rem;
+ transition: transform 0.2s ease,
+ box-shadow 0.2s ease,
+ background-color 0.2s ease,
+ color 0.2s ease,
+ border-color 0.2s ease;
+}
+
+.sl-hero-btn-primary {
+ background: var(--sl-submenu-accent-hover);
+ border: 1px solid var(--sl-submenu-accent-hover);
+ box-shadow: var(--sl-hero-shadow-accent);
+ color: var(--sl-hero-bg);
+}
+
+.sl-hero-btn-primary:hover,
+.sl-hero-btn-primary:focus {
+ background: var(--sl-submenu-accent-dark);
+ border-color: var(--sl-submenu-accent-dark);
+ box-shadow: var(--sl-hero-shadow-accent-hover);
+ color: var(--sl-hero-bg);
+ transform: translateY(-1px);
+}
+
+.sl-hero-btn:focus-visible {
+ outline: 2px solid var(--sl-hero-ink);
+ outline-offset: 2px;
+}
+
+.sl-hero-btn-secondary {
+ background: transparent;
+ border: 1px solid var(--sl-hero-ink);
+ color: var(--sl-hero-ink);
+}
+
+.sl-hero-btn-secondary:hover,
+.sl-hero-btn-secondary:focus {
+ background: var(--sl-hero-surface);
+ border-color: var(--sl-hero-ink);
+ box-shadow: var(--sl-hero-shadow-secondary);
+ color: var(--sl-hero-ink);
+ transform: translateY(-1px);
+}
+
+.sl-hero-social-proof {
+ gap: 1rem;
+ margin-top: 2rem;
+}
+
+.sl-hero-stars {
+ height: auto;
+ width: 112px;
+}
+
+.sl-hero-stat {
+ display: flex;
+ flex-direction: column;
+ line-height: 1.1;
+}
+
+.sl-hero-stat-value {
+ color: var(--sl-submenu-accent);
+ font-size: clamp(2rem, 4vw, 2.25rem);
+ font-weight: 800;
+}
+
+.sl-hero-stat-label {
+ color: var(--sl-hero-muted);
+ font-size: 0.75rem;
+ letter-spacing: 0.02em;
+ margin-top: 0.25rem;
+ text-transform: uppercase;
+}
+
+.sl-hero-media-col {
+ display: flex;
+ justify-content: center;
+}
+
+.sl-hero-illustration-bg {
+ background: linear-gradient(145deg, var(--sl-submenu-accent-light) 0%, var(--sl-hero-surface) 100%);
+ border-radius: 16px;
+ padding: 1rem;
+ width: 100%;
+}
+
+.sl-hero-illustration-card {
+ background: var(--sl-hero-bg);
+ border-radius: 16px;
+ border: 1px solid var(--sl-hero-border-soft);
+ box-shadow: var(--sl-hero-shadow-soft);
+ overflow: hidden;
+ padding: 0.75rem;
+}
+
+.sl-hero-illustration {
+ border-radius: 12px;
+ display: block;
+}
+
+@media (max-width: 991px) {
+ .sl-hero-section {
+ padding-bottom: 1rem;
+ padding-top: 3rem;
+ }
+
+ .sl-hero-btn {
+ width: 100%;
+ }
}
\ No newline at end of file
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html
index d14ef94..5f74b9d 100644
--- a/layouts/partials/footer.html
+++ b/layouts/partials/footer.html
@@ -228,14 +228,6 @@
+ data-header-fix-effect="slide">
Downloads
+ + + + @@ -109,152 +109,247 @@ -
-
+
-
+
+
+
+
+
+
+ -
+
+
- + + + + {{ i18n "header_feature_email_aliases" }} + {{ i18n "header_feature_email_aliases_desc" }} + + + + +
- + + + + {{ i18n "header_feature_custom_domains" }} + {{ i18n "header_feature_custom_domains_desc" }} + + + + +
- + + + + {{ i18n "header_feature_browser_extensions" }} + {{ i18n "header_feature_browser_extensions_desc" }} + + + + +
- + + + + {{ i18n "header_feature_signin_with_sl" }} + {{ i18n "header_feature_signin_with_sl_desc" }} + + + + +
+
+
+
diff --git a/static/custom.css b/static/custom.css
index 9f0d256..05531be 100644
--- a/static/custom.css
+++ b/static/custom.css
@@ -150,5 +150,836 @@ img {
}
.submenu-item:hover {
- background-color: #e1e3eb;
+ background-color: var(--sl-submenu-accent-light);
+}
+
+/* Header Nav */
+
+header nav .u-header__nav-link {
+ color: #1a202c;
+ transition: all 0.2s ease;
+}
+
+header nav .u-header__nav-item:hover > .u-header__nav-link,
+header nav .u-header__nav-item:focus-within > .u-header__nav-link {
+ color: var(--sl-submenu-accent);
+}
+
+header .btn-create-free-account,
+header nav .btn-sign-in {
+ border-radius: 16px;
+ font-size: 0.9em;
+ padding: 0.25rem 1rem;
+ text-decoration: none;
+}
+
+header .btn-create-free-account {
+ background-color: var(--sl-submenu-accent);
+ border-color: var(--sl-submenu-accent);
+ color: var(--sl-drawer-bg);
+ transition: background-color 0.2s ease, border-color 0.2s ease;
+}
+
+header .btn-create-free-account:hover {
+ background-color: var(--sl-submenu-accent-hover);
+ border-color: var(--sl-submenu-accent-hover);
+ color: var(--sl-drawer-bg);
+}
+
+header .btn-create-free-account:focus,
+header .btn-create-free-account:active {
+ color: var(--sl-drawer-bg);
+}
+
+header nav .btn-sign-in {
+ background-color: #fff;
+ color: var(--sl-submenu-accent);
+}
+
+header nav .btn-sign-in:hover,
+header nav .btn-sign-in:focus,
+header nav .btn-sign-in:active {
+ background-color: var(--sl-submenu-accent-hover);
+ border-color: var(--sl-submenu-accent-hover);
+ color: var(--sl-drawer-bg);
+ text-decoration: none;
+}
+
+header nav .u-header__nav-item.sl-nav-signin:hover > .btn-sign-in,
+header nav .u-header__nav-item.sl-nav-signin:focus-within > .btn-sign-in {
+ color: var(--sl-drawer-bg);
+}
+
+
+/* custom container */
+
+.container-fluid {
+ padding-left: 1rem;
+ padding-right: 1rem;
+}
+
+@media screen and (min-width: 992px) {
+ .container-fluid {
+ padding-left: 4rem;
+ padding-right: 4rem;
+ }
+}
+
+/* Navbar */
+
+#header .navbar-nav {
+ width: 100%;
+}
+
+/* ============================================
+ HEADER — Modern Navigation
+ ============================================
+ Breakpoints (min-width, mobile-first):
+ <1278px → Full-screen drawer navigation
+ 1278px+ → Full inline nav, no hamburger
+
+ CSS custom properties cannot be used inside
+ @media rules (spec limitation). Breakpoint
+ values are literals; all other design tokens
+ live in :root.
+ ============================================ */
+
+:root {
+ --sl-bp-cta: 640px;
+ --sl-bp-signin: 768px;
+ --sl-bp-nav: 1278px;
+ --sl-header-z: 100;
+ --sl-overlay-bg: rgba(0, 0, 0, 0.40);
+ --sl-drawer-bg: #fff;
+ --sl-drawer-border: #e9ecef;
+ --sl-drawer-sep: #f0f2f5;
+ --sl-drawer-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
+ --sl-submenu-bg: #f8f9fa;
+ --sl-submenu-accent: #ea319f;
+ --sl-submenu-accent-hover: #d1287f;
+ --sl-submenu-accent-light: #fdeaf5;
+ --sl-submenu-accent-dark: #8f165c;
+ --sl-submenu-desc: #4f5458;
+ --sl-submenu-radius: 8px;
+ --sl-flyout-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
+
+ --sl-hero-bg: #fff;
+ --sl-hero-ink: #1a1a2e;
+ --sl-hero-body: #2d3748;
+ --sl-hero-muted: #6c7480;
+ --sl-hero-surface: #f8f9fb;
+ --sl-hero-border-soft: rgba(26, 32, 44, 0.08);
+ --sl-hero-shadow-accent: 0 8px 24px rgba(234, 49, 159, 0.28);
+ --sl-hero-shadow-accent-hover: 0 12px 28px rgba(234, 49, 159, 0.34);
+ --sl-hero-shadow-secondary: 0 12px 24px rgba(26, 26, 46, 0.12);
+ --sl-hero-shadow-soft: 0 24px 48px rgba(17, 22, 34, 0.10);
+}
+
+/* ——— Always-on base rules ——— */
+
+#header .u-header__navbar {
+ padding: 16px;
+}
+
+#header {
+ z-index: var(--sl-header-z);
+}
+
+.sl-page-shell {
+ min-height: 100vh;
+}
+
+.sl-header-sticky {
+ position: sticky;
+ top: 0;
+}
+
+.sl-menu-toggle {
+ background: transparent;
+ border: 0;
+ cursor: pointer;
+}
+
+/* Single source of truth for top-level mega-menu chevrons */
+.sl-navbar .u-header__nav-link-toggle::after {
+ content: '\f078';
+ color: var(--sl-submenu-accent);
+ flex-shrink: 0;
+ font-family: 'Font Awesome 5 Free';
+ font-size: 0.95rem;
+ font-weight: 900;
+ line-height: 1;
+ margin-left: 0.75rem;
+ transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
+}
+
+.sl-navbar .u-header__nav-link-toggle[aria-expanded="true"]::after {
+ transform: rotate(180deg);
+}
+
+.sl-header-actions {
+ align-items: center;
+ display: flex;
+ gap: 0.5rem;
+}
+
+.sl-header-cta-top,
+.sl-header-signin-top {
+ display: none;
+}
+
+/* =============================================
+ MEGA-MENU PANELS
+ Panels live outside the header in the DOM so
+ they are not trapped in its stacking context.
+ z-index 102 > overlay 101 > header 100.
+ ============================================= */
+
+.sl-mega-panel {
+ background: var(--sl-drawer-bg);
+ border-radius: var(--sl-submenu-radius);
+ box-shadow: var(--sl-flyout-shadow);
+ display: none;
+ overflow: hidden;
+ position: fixed;
+ z-index: 102;
+}
+
+.sl-mega-panel.is-open {
+ display: block;
+}
+
+/* On mobile the panel is moved into the nav drawer by JS;
+ fixed positioning must be reset to flow naturally. */
+@media (max-width: 1277px) {
+ .sl-mega-panel {
+ border-top: 1px solid var(--sl-drawer-border);
+ box-shadow: none;
+ position: static;
+ width: 100%;
+ }
+
+ .sl-mega-panel .u-header__mega-menu-wrapper {
+ padding: 0;
+ }
+
+ .sl-submenu-grid {
+ grid-template-columns: 1fr;
+ }
+
+ .sl-mega-panel .u-header__sub-menu-nav-link {
+ padding: 0.625rem 1.5rem;
+ }
+
+ .sl-submenu-sidebar {
+ display: none;
+ }
+
+ #resourcesMegaMenuContent .row {
+ display: block;
+ }
+
+ #resourcesMegaMenuContent .col-7 {
+ flex: 0 0 100%;
+ max-width: 100%;
+ padding: 0;
+ }
+}
+
+@media (min-width: 1278px) {
+ .sl-mega-panel .u-header__mega-menu-wrapper {
+ padding: 12px;
+ }
+
+ .sl-submenu-grid {
+ grid-template-columns: 1fr 1fr;
+ }
+
+ .sl-mega-panel .u-header__sub-menu-nav-link {
+ padding: 0.625rem 0.75rem;
+ }
+
+ .sl-submenu-sidebar {
+ display: block;
+ }
+
+ #resourcesMegaMenuContent .row {
+ display: flex;
+ }
+
+ #resourcesMegaMenuContent .col-7 {
+ flex: 0 0 58.333%;
+ max-width: 58.333%;
+ padding: 1rem;
+ }
+
+ .sl-submenu-main-col {
+ padding: 1rem;
+ }
+
+ .sl-submenu-sidebar {
+ padding: 1rem;
+ }
+}
+
+/* =============================================
+ SUBMENU SHARED STYLES
+ ============================================= */
+
+.sl-submenu-grid {
+ display: grid;
+ gap: 0.25rem;
+ list-style: none;
+}
+
+.sl-mega-panel .u-header__sub-menu-nav-link {
+ align-items: flex-start;
+ display: flex;
+ gap: 0.75rem;
+}
+
+.sl-mega-panel .u-header__sub-menu-nav-link .sl-sumbenu-title {
+ color: var(--sl-submenu-accent-dark);
+}
+
+.sl-mega-panel .u-header__sub-menu-nav-link:hover .sl-sumbenu-title {
+ color: var(--sl-submenu-accent);
+}
+
+.sl-mega-panel .u-header__sub-menu-nav-link:hover,
+.sl-mega-panel .u-header__sub-menu-nav-link:focus {
+ color: var(--sl-submenu-accent);
+}
+
+.sl-submenu-icon {
+ align-items: center;
+ color: var(--sl-submenu-accent);
+ display: flex;
+ font-size: 1rem;
+ justify-content: center;
+ margin-top: 2px;
+ min-width: 20px;
+ width: 20px;
+}
+
+.sl-submenu-desc {
+ color: var(--sl-submenu-desc);
+ display: block;
+ font-size: 0.9rem;
+ font-weight: 400;
+ line-height: 1.4;
+ margin-top: 1px;
+}
+
+.sl-submenu-sidebar {
+ background-color: var(--sl-submenu-bg);
+ border-radius: 0 var(--sl-submenu-radius) var(--sl-submenu-radius) 0;
+}
+
+.sl-submenu-sidebar-title {
+ font-size: 0.7rem;
+ letter-spacing: 0.05em;
+}
+
+/* =============================================
+ MOBILE DRAWER — Full-screen drawer < 1278px
+ ============================================= */
+
+@media (max-width: 1277px) {
+ .sl-navbar .u-header__navbar-nav .sl-nav-pricing {
+ margin-right: 0;
+ }
+
+ #navBar {
+ background: var(--sl-drawer-bg);
+ bottom: 0;
+ display: flex;
+ flex-direction: column;
+ left: 0;
+ opacity: 0;
+ overflow: hidden;
+ pointer-events: none;
+ position: fixed;
+ right: 0;
+ top: 0;
+ transform: translateY(-10px);
+ transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
+ visibility: hidden;
+ z-index: 103;
+ }
+
+ #navBar.is-open {
+ opacity: 1;
+ pointer-events: auto;
+ transform: translateY(0);
+ visibility: visible;
+ }
+
+ /* Drawer logo + close row */
+ .sl-drawer-header {
+ align-items: center;
+ background: var(--sl-drawer-bg);
+ border-bottom: 1px solid var(--sl-drawer-border);
+ display: flex;
+ flex-shrink: 0;
+ justify-content: space-between;
+ padding: 1rem 1.5rem;
+ width: 100%;
+ }
+
+ .sl-drawer-close {
+ align-items: center;
+ background: transparent;
+ border: none;
+ border-radius: 8px;
+ color: #4a5568;
+ cursor: pointer;
+ display: flex;
+ font-size: 1.1rem;
+ height: 36px;
+ justify-content: center;
+ padding: 0;
+ transition: background 0.15s ease, color 0.15s ease;
+ width: 36px;
+ }
+
+ .sl-drawer-close:hover {
+ background: var(--sl-drawer-sep);
+ color: #1a202c;
+ }
+
+ /* Overlay for drawer (slightly more opaque) */
+ .sl-nav-overlay {
+ background: rgba(0, 0, 0, 0.50);
+ z-index: 102;
+ }
+
+ .sl-nav-overlay.is-visible {
+ opacity: 1;
+ visibility: visible;
+ }
+
+ /* Nav items: scrollable middle area */
+ .sl-navbar .u-header__navbar-nav {
+ display: flex;
+ flex-direction: column;
+ flex: 1;
+ gap: 0;
+ overflow-y: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+
+ .sl-navbar .u-header__navbar-nav > .u-header__nav-item,
+ .sl-navbar .u-header__navbar-nav > .sl-mega-panel {
+ width: 100%;
+ }
+
+ .sl-navbar .u-header__navbar-nav > .u-header__nav-item {
+ border-bottom: 1px solid var(--sl-drawer-sep);
+ width: 100%;
+ }
+
+ /* Normalize horizontal gutters for Features, Resources and Pricing */
+ .sl-navbar #featuresMegaMenu,
+ .sl-navbar #resourcesMegaMenu,
+ .sl-navbar .u-header__navbar-nav > .u-header__nav-item:nth-child(3) > .u-header__nav-link {
+ padding-left: 1.5rem;
+ padding-right: 1.5rem;
+ }
+
+ /* Nav links with improved spacing */
+ .sl-navbar .u-header__navbar-nav .u-header__nav-link {
+ align-items: center;
+ display: flex;
+ justify-content: space-between;
+ padding: 1.1rem 1.5rem;
+ width: 100%;
+ font-weight: 500;
+ color: #1a202c;
+ font-size: 1rem;
+ letter-spacing: 0.3px;
+ transition: background-color 0.15s ease;
+ }
+
+ .sl-navbar .u-header__navbar-nav .u-header__nav-link:active,
+ .sl-navbar .u-header__navbar-nav .u-header__nav-link:focus {
+ background-color: #f0f2f5;
+ }
+
+ /* =============================================
+ ACTION BUTTONS SECTION
+ ============================================= */
+
+ /* CTA button — Create free account */
+ .sl-nav-cta {
+ width: 100%;
+ padding: 0.75rem 1.5rem;
+ background: transparent;
+ border: none;
+ }
+
+ .sl-nav-cta .btn {
+ border-radius: 16px;
+ display: block;
+ font-size: 1rem;
+ font-weight: 600;
+ margin: 0;
+ padding: 0.85rem 1.5rem;
+ text-align: center;
+ text-decoration: none;
+ width: 100%;
+ }
+
+ .sl-navbar .u-header__navbar-nav .sl-nav-signin .btn-sign-in {
+ border-radius: 16px;
+ display: block;
+ font-size: 1rem;
+ font-weight: 600;
+ justify-content: center;
+ padding: 0.75rem 1.5rem;
+ text-align: center;
+ text-decoration: none;
+ width: 100%;
+ }
+
+ .sl-nav-cta .btn {
+ background-color: var(--sl-submenu-accent);
+ border-color: var(--sl-submenu-accent);
+ color: var(--sl-drawer-bg);
+ transition: all 0.2s ease;
+ box-shadow: 0 2px 8px rgba(234, 49, 159, 0.25);
+ }
+
+ .sl-nav-cta .btn:active {
+ color: var(--sl-drawer-bg);
+ transform: scale(0.98);
+ }
+
+ .sl-nav-cta .btn:hover,
+ .sl-nav-cta .btn:focus {
+ color: var(--sl-drawer-bg);
+ }
+
+ /* Sign in button — outline style */
+ .sl-nav-signin {
+ width: 100%;
+ border: 0;
+ padding: 0 1.5rem 0.75rem 1.5rem;
+ }
+
+ .sl-navbar .u-header__navbar-nav .sl-nav-signin .btn-sign-in {
+ border: 2px solid var(--sl-submenu-accent);
+ background-color: var(--sl-drawer-bg);
+ color: var(--sl-submenu-accent);
+ }
+
+ .sl-navbar .u-header__navbar-nav .sl-nav-signin .btn-sign-in:active {
+ background-color: var(--sl-submenu-accent-hover);
+ border-color: var(--sl-submenu-accent-hover);
+ color: var(--sl-drawer-bg);
+ }
+
+ .sl-navbar .u-header__navbar-nav .sl-nav-signin .btn-sign-in:hover,
+ .sl-navbar .u-header__navbar-nav .sl-nav-signin .btn-sign-in:focus {
+ background-color: var(--sl-submenu-accent-hover);
+ border-color: var(--sl-submenu-accent-hover);
+ color: var(--sl-drawer-bg);
+ text-decoration: none;
+ }
+
+ /* =============================================
+ DRAWER MENU CONTENT
+ ============================================= */
+
+ /* Mega-menu panels in drawer mode */
+ .sl-mega-panel {
+ border-radius: 0;
+ }
+
+ .sl-mega-panel .u-header__mega-menu-wrapper {
+ padding: 0 1.5rem;
+ }
+
+ /* Features and Resources list items */
+ .sl-mega-panel .u-header__sub-menu-nav-link {
+ padding: 0.875rem 0;
+ gap: 0.875rem;
+ }
+
+ .sl-submenu-desc {
+ display: none; /* Hide descriptions in drawer to save space */
+ }
+
+ .sl-submenu-icon {
+ font-size: 1rem;
+ min-width: 24px;
+ width: 24px;
+ }
+
+ .sl-submenu-sidebar {
+ display: none; /* Hide comparisons sidebar in drawer */
+ }
+
+}
+
+/* Hide mobile-only drawer elements at desktop */
+@media (min-width: 1278px) {
+ .sl-drawer-header {
+ display: none;
+ }
+}
+
+/* 640px+: show top CTA and hide drawer CTA item */
+@media (min-width: 640px) and (max-width: 1277px) {
+ .sl-header-cta-top {
+ align-items: center;
+ display: inline-flex;
+ }
+
+ .sl-nav-cta {
+ display: none;
+ }
+}
+
+/* 768px+: show top Sign in and hide drawer Sign in item */
+@media (min-width: 768px) and (max-width: 1277px) {
+ .sl-header-signin-top {
+ align-items: center;
+ display: inline-flex;
+ }
+
+ .sl-nav-signin {
+ display: none;
+ }
+}
+
+/* =============================================
+ 1278px — Full inline nav, no hamburger
+ ============================================= */
+
+@media (min-width: 1278px) {
+ .sl-navbar .navbar-toggler {
+ display: none;
+ }
+
+ /* ID selector (specificity 1,0,0) overrides Bootstrap's
+ .collapse:not(.show) { display: none } */
+ #navBar {
+ display: flex;
+ flex-basis: auto;
+ flex-grow: 1;
+ }
+
+ .sl-navbar .navbar-nav {
+ align-items: center;
+ flex-direction: row;
+ }
+
+ .sl-navbar .navbar-nav .u-header__nav-item > .u-header__nav-link {
+ padding-left: 0.75rem;
+ padding-right: 0.75rem;
+ }
+
+ .sl-navbar .u-header__navbar-nav .sl-nav-pricing {
+ margin-right: auto;
+ }
+
+ .sl-header-actions {
+ display: none;
+ }
+
+ .sl-nav-cta,
+ .sl-nav-signin {
+ display: list-item;
+ }
+
+ .sl-nav-cta .btn {
+ display: inline-block;
+ margin: 0;
+ width: auto;
+ }
+}
+
+/* =============================================
+ NAV OVERLAY
+ z-index 101: above header (100), below panels (102)
+ ============================================= */
+
+.sl-nav-overlay {
+ background: var(--sl-overlay-bg);
+ cursor: pointer;
+ inset: 0;
+ opacity: 0;
+ position: fixed;
+ transition: opacity 0.25s ease, visibility 0.25s ease;
+ visibility: hidden;
+ z-index: 101;
+}
+
+.sl-nav-overlay.is-visible {
+ opacity: 1;
+ visibility: visible;
+}
+
+/* =========================================================
+ HERO V2
+ ========================================================= */
+
+.sl-hero-section {
+ background: var(--sl-hero-bg);
+ padding-bottom: 2rem;
+ padding-top: 5rem;
+}
+
+.sl-hero-copy-col {
+ align-items: center;
+ display: flex;
+}
+
+.sl-hero-copy-wrap {
+ max-width: 38rem;
+}
+
+.sl-hero-headline {
+ color: var(--sl-hero-ink);
+ font-size: clamp(2.5rem, 5.2vw, 3.5rem);
+ font-weight: 800;
+ letter-spacing: -0.03em;
+ line-height: 1.1;
+ margin-bottom: 1rem;
+}
+
+.sl-hero-headline-highlight {
+ color: var(--sl-submenu-accent);
+}
+
+.sl-hero-description {
+ color: var(--sl-hero-body);
+ font-size: 1rem;
+ line-height: 1.7;
+ margin-bottom: 0.75rem;
+}
+
+.sl-hero-cta-row {
+ gap: 0.75rem;
+}
+
+.sl-hero-btn {
+ align-items: center;
+ display: inline-flex;
+ font-size: 1rem;
+ font-weight: 600;
+ gap: 0.5rem;
+ justify-content: center;
+ min-height: 44px;
+ min-width: 210px;
+ padding: 0.75rem 1.5rem;
+ transition: transform 0.2s ease,
+ box-shadow 0.2s ease,
+ background-color 0.2s ease,
+ color 0.2s ease,
+ border-color 0.2s ease;
+}
+
+.sl-hero-btn-primary {
+ background: var(--sl-submenu-accent-hover);
+ border: 1px solid var(--sl-submenu-accent-hover);
+ box-shadow: var(--sl-hero-shadow-accent);
+ color: var(--sl-hero-bg);
+}
+
+.sl-hero-btn-primary:hover,
+.sl-hero-btn-primary:focus {
+ background: var(--sl-submenu-accent-dark);
+ border-color: var(--sl-submenu-accent-dark);
+ box-shadow: var(--sl-hero-shadow-accent-hover);
+ color: var(--sl-hero-bg);
+ transform: translateY(-1px);
+}
+
+.sl-hero-btn:focus-visible {
+ outline: 2px solid var(--sl-hero-ink);
+ outline-offset: 2px;
+}
+
+.sl-hero-btn-secondary {
+ background: transparent;
+ border: 1px solid var(--sl-hero-ink);
+ color: var(--sl-hero-ink);
+}
+
+.sl-hero-btn-secondary:hover,
+.sl-hero-btn-secondary:focus {
+ background: var(--sl-hero-surface);
+ border-color: var(--sl-hero-ink);
+ box-shadow: var(--sl-hero-shadow-secondary);
+ color: var(--sl-hero-ink);
+ transform: translateY(-1px);
+}
+
+.sl-hero-social-proof {
+ gap: 1rem;
+ margin-top: 2rem;
+}
+
+.sl-hero-stars {
+ height: auto;
+ width: 112px;
+}
+
+.sl-hero-stat {
+ display: flex;
+ flex-direction: column;
+ line-height: 1.1;
+}
+
+.sl-hero-stat-value {
+ color: var(--sl-submenu-accent);
+ font-size: clamp(2rem, 4vw, 2.25rem);
+ font-weight: 800;
+}
+
+.sl-hero-stat-label {
+ color: var(--sl-hero-muted);
+ font-size: 0.75rem;
+ letter-spacing: 0.02em;
+ margin-top: 0.25rem;
+ text-transform: uppercase;
+}
+
+.sl-hero-media-col {
+ display: flex;
+ justify-content: center;
+}
+
+.sl-hero-illustration-bg {
+ background: linear-gradient(145deg, var(--sl-submenu-accent-light) 0%, var(--sl-hero-surface) 100%);
+ border-radius: 16px;
+ padding: 1rem;
+ width: 100%;
+}
+
+.sl-hero-illustration-card {
+ background: var(--sl-hero-bg);
+ border-radius: 16px;
+ border: 1px solid var(--sl-hero-border-soft);
+ box-shadow: var(--sl-hero-shadow-soft);
+ overflow: hidden;
+ padding: 0.75rem;
+}
+
+.sl-hero-illustration {
+ border-radius: 12px;
+ display: block;
+}
+
+@media (max-width: 991px) {
+ .sl-hero-section {
+ padding-bottom: 1rem;
+ padding-top: 3rem;
+ }
+
+ .sl-hero-btn {
+ width: 100%;
+ }
}
\ No newline at end of file
+
+
+
+
+
+
+
+ -
+
+
- + + + + {{ i18n "header_resource_blog" }} + {{ i18n "header_resource_blog_desc" }} + + + + +
- + + + + {{ i18n "header_resource_documentation" }} + {{ i18n "header_resource_documentation_desc" }} + + + + +
- + + + + {{ i18n "header_resource_faq" }} + {{ i18n "header_resource_faq_desc" }} + + + + +
- + + + + {{ i18n "header_resource_forum" }} + {{ i18n "header_resource_forum_desc" }} + + + + +
- + + + + {{ i18n "header_resource_github" }} + {{ i18n "header_resource_github_desc" }} + + + + +
- + + + + {{ i18n "header_resource_status" }} + {{ i18n "header_resource_status_desc" }} + + + + +
+
+
+ {{ i18n "header_resource_comparisons" }}
+ +