diff --git a/index.html b/index.html
index 5abef83..a05dff0 100644
--- a/index.html
+++ b/index.html
@@ -37,7 +37,7 @@
}
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
-html { scroll-behavior: smooth; }
+html { scroll-behavior: smooth; scroll-padding-top: 64px; }
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
* { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
@@ -53,7 +53,17 @@
a { color: var(--blue); text-decoration: none; }
a:hover { text-decoration: underline; }
-a:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; border-radius: 4px; }
+a:focus-visible, button:focus-visible, [role="button"]:focus-visible {
+ outline: 3px solid var(--blue); outline-offset: 3px; border-radius: 4px;
+}
+
+.nav-brand, .nav-links a, .btn-ghost, .btn-solid, .btn-hero-primary, .btn-hero-secondary, .feature-cta, .faq-q {
+ transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
+}
+.nav-brand:active, .nav-links a:active, .btn-ghost:active, .btn-solid:active,
+.btn-hero-primary:active, .btn-hero-secondary:active, .feature-cta:active, .faq-q:active {
+ transform: scale(0.97);
+}
.skip-link {
position: absolute; top: -40px; left: 1rem;
@@ -82,9 +92,10 @@
.nav-brand span { color: var(--text); font-weight: 700; }
.nav-links { display: flex; align-items: center; gap: .25rem; flex: 1; }
.nav-links a {
+ display: inline-block;
font-size: .875rem; font-weight: 500; color: var(--gray-700);
padding: .5rem .875rem; border-radius: 6px;
- transition: background .15s, color .15s;
+ transition: background .15s, color .15s, transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
white-space: nowrap;
}
.nav-links a:hover { background: var(--gray-100); color: var(--text); text-decoration: none; }
@@ -93,17 +104,19 @@
flex-shrink: 0;
}
.btn-ghost {
+ display: inline-block;
font-size: .875rem; font-weight: 500; color: var(--blue);
padding: .5rem 1.25rem; border-radius: 8px;
border: 1.5px solid var(--blue);
- transition: background .15s, color .15s;
+ transition: background .15s, color .15s, transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-ghost:hover { background: var(--blue-pale); text-decoration: none; }
.btn-solid {
+ display: inline-block;
font-size: .875rem; font-weight: 500; color: var(--white) !important;
padding: .5rem 1.25rem; border-radius: 8px;
background: var(--blue);
- transition: background .15s, box-shadow .15s;
+ transition: background .15s, box-shadow .15s, transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-solid:hover { background: #1557b0; box-shadow: var(--shadow-sm); text-decoration: none; }
@@ -167,7 +180,7 @@
font-size: .9375rem; font-weight: 600;
padding: .875rem 2rem; border-radius: var(--radius-pill);
box-shadow: var(--shadow-md);
- transition: transform .15s, box-shadow .15s;
+ transition: transform .15s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .15s;
}
.btn-hero-primary:hover { transform: translateY(-1px); box-shadow: var(--shadow-lg); text-decoration: none; }
.btn-hero-secondary {
@@ -176,7 +189,7 @@
font-size: .9375rem; font-weight: 500;
padding: .875rem 2rem; border-radius: var(--radius-pill);
border: 1.5px solid rgba(255,255,255,.35);
- transition: background .15s, border-color .15s;
+ transition: background .15s, border-color .15s, transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-hero-secondary:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.6); text-decoration: none; }
@@ -289,7 +302,7 @@
margin-top: 1.5rem; color: var(--blue) !important;
font-size: .9375rem; font-weight: 600;
border-bottom: 2px solid transparent;
- transition: border-color .15s;
+ transition: border-color .15s, transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.feature-cta:hover { border-color: var(--blue); text-decoration: none; }
.feature-cta::after { content: '→'; transition: transform .15s; }