diff --git a/apps/website/assets/css/voyage-layout.css b/apps/website/assets/css/voyage-layout.css
index 639ca59..28ae3b2 100644
--- a/apps/website/assets/css/voyage-layout.css
+++ b/apps/website/assets/css/voyage-layout.css
@@ -490,11 +490,11 @@ html {
align-items: center;
justify-items: center;
text-align: center;
- /* Use env() directly for safe area padding */
- padding-top: calc(env(safe-area-inset-top) + clamp(2rem, 8vh, 5rem));
- padding-left: env(safe-area-inset-left);
- padding-right: env(safe-area-inset-right);
- padding-bottom: calc(env(safe-area-inset-bottom) + clamp(1.25rem, 3vh, 2.5rem));
+ /* Safari-compatible safe area padding with fallbacks */
+ padding-top: calc(max(env(safe-area-inset-top), 44px) + clamp(2rem, 8vh, 5rem));
+ padding-left: max(env(safe-area-inset-left), 0px);
+ padding-right: max(env(safe-area-inset-right), 0px);
+ padding-bottom: calc(max(env(safe-area-inset-bottom), 0px) + clamp(1.25rem, 3vh, 2.5rem));
row-gap: clamp(2rem, 6vh, 4rem);
}
@@ -505,6 +505,14 @@ html {
}
}
+/* iOS-specific padding for hero content */
+@supports (-webkit-touch-callout: none) {
+ .hero-content {
+ /* Use larger fallback for Dynamic Island devices */
+ padding-top: calc(max(constant(safe-area-inset-top), env(safe-area-inset-top), 59px) + clamp(2rem, 8vh, 5rem));
+ }
+}
+
.hero-main {
width: min(720px, 100%);
margin: 0 auto;
diff --git a/apps/website/components/HeroSection.vue b/apps/website/components/HeroSection.vue
index d77804e..a31a021 100644
--- a/apps/website/components/HeroSection.vue
+++ b/apps/website/components/HeroSection.vue
@@ -172,32 +172,59 @@ onMounted(() => {
+
+
+
+
Safe Area Fix Test v2
+
+
✅ Using hardcoded fallback: -59px for Dynamic Island
+
✅ Using max() function for reliable fallbacks
+
✅ Supporting both env() and constant()
+
⚠️ Safari bug: env() returns 0 in portrait mode
+
+
Visual Test:
+
🔴 Red should be visible in the notch area
+
📝 This text should be below the notch
+
+
Debug Values:
+
Safe Area Top: checking...
+
Computed Top Padding: checking...
+
Viewport Height: checking...
+
User Agent: checking...
+
+
Workaround Status:
+
Using hardcoded fallback values
+
+
+
+
Try These Tests:
+
1. Rotate to landscape and back to portrait
+
2. Add to Home Screen for PWA mode
+
3. Check if red gradient extends to top
+
+
+
+
+
+