diff --git a/libs/domains/agenstra/frontend/feature-landingpage/src/lib/home/home.component.scss b/libs/domains/agenstra/frontend/feature-landingpage/src/lib/home/home.component.scss
index 77feb7e66..9c8b7eeac 100644
--- a/libs/domains/agenstra/frontend/feature-landingpage/src/lib/home/home.component.scss
+++ b/libs/domains/agenstra/frontend/feature-landingpage/src/lib/home/home.component.scss
@@ -48,11 +48,6 @@
box-shadow: 0 8px 24px rgba(139, 92, 246, 0.25);
}
-.home-engineering-screenshot {
- display: block;
- margin-top: -8rem;
-}
-
.home-engineering-closing {
background: linear-gradient(135deg, rgba(139, 92, 246, 0.08) 0%, #fff 55%);
}
@@ -143,14 +138,10 @@
}
.intent-cards {
- margin-top: -5rem;
position: relative;
@media (max-width: 768px) {
- padding-top: 2.5rem;
- margin-top: 0;
-
- > .intent-card {
+ .intent-cards-browser {
display: none;
}
@@ -159,29 +150,28 @@
}
}
- @media (max-width: 992px) and (min-width: 768px) {
- margin-top: -2rem;
- }
+ // Chrome comes from `.browser-frame` in page.component.scss; the hero shows a wider crop of the screenshot
+ .intent-cards-browser {
+ z-index: 3;
- @media (max-width: 1200px) and (min-width: 992px) {
- margin-top: -3rem;
- }
+ .browser-frame__viewport {
+ aspect-ratio: 16 / 7;
+ }
- > .intent-card {
- position: relative;
- z-index: 3;
- display: block;
+ .browser-frame__screenshot {
+ object-position: center;
+ }
}
.intent-card-indicators {
- position: absolute;
- left: 50%;
- bottom: 0.75rem;
- z-index: 4;
display: flex;
align-items: center;
justify-content: center;
gap: 0.125rem;
+ bottom: 0.75rem;
+ position: absolute;
+ z-index: 10;
+ left: 50%;
transform: translateX(-50%);
}
diff --git a/libs/domains/agenstra/frontend/feature-landingpage/src/lib/page.component.scss b/libs/domains/agenstra/frontend/feature-landingpage/src/lib/page.component.scss
index 51d925c63..983ef4245 100644
--- a/libs/domains/agenstra/frontend/feature-landingpage/src/lib/page.component.scss
+++ b/libs/domains/agenstra/frontend/feature-landingpage/src/lib/page.component.scss
@@ -201,3 +201,102 @@ section {
position: relative;
z-index: 1;
}
+
+// Safari-style window chrome; screenshots are expected as plain 16:9 captures without their own frame
+.browser-frame {
+ position: relative;
+ padding: 0 0.5rem 0.5rem;
+ border: 1px solid var(--bs-border-color);
+ border-top-left-radius: var(--bs-border-radius-lg);
+ border-top-right-radius: var(--bs-border-radius-lg);
+ background-color: var(--bs-dark);
+ box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.25);
+}
+
+.browser-frame__toolbar {
+ display: grid;
+ grid-template-columns: 1fr minmax(0, 2fr) 1fr;
+ align-items: center;
+ height: 2.75rem;
+ padding: 0 0.5rem;
+}
+
+.browser-frame__lights {
+ display: flex;
+ gap: 0.5rem;
+}
+
+.browser-frame__light {
+ width: 0.75rem;
+ height: 0.75rem;
+ border-radius: 50%;
+
+ &--close {
+ background-color: #ff5f57;
+ }
+
+ &--minimize {
+ background-color: #febc2e;
+ }
+
+ &--zoom {
+ background-color: #28c840;
+ }
+}
+
+.browser-frame__address {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 0.375rem;
+ height: 1.75rem;
+ overflow: hidden;
+ border-radius: 0.5rem;
+ background-color: rgba(255, 255, 255, 0.08);
+ color: rgba(255, 255, 255, 0.7);
+ font-size: 0.8125rem;
+ white-space: nowrap;
+
+ > .bi {
+ font-size: 0.6875rem;
+ }
+}
+
+.browser-frame__viewport {
+ aspect-ratio: 16 / 9;
+ overflow: hidden;
+ border-radius: 0.375rem;
+}
+
+.browser-frame__screenshot {
+ display: block;
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ object-position: left top;
+}
+
+// Bento cards: the window enters from the lower left and bleeds off the right and bottom card edges,
+// keeping the navigation and top-left content of the screenshot in view
+.browser-peek {
+ aspect-ratio: 16 / 9;
+ margin-top: auto;
+ padding: 1rem 0 0 clamp(1rem, 6%, 3rem);
+ overflow: hidden;
+
+ .browser-frame {
+ width: 125%;
+ padding-right: 0;
+ padding-bottom: 0;
+ border-right: 0;
+ border-bottom: 0;
+ border-top-right-radius: 0;
+ box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.18);
+ }
+
+ .browser-frame__viewport {
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0;
+ }
+}
diff --git a/libs/domains/decabill/frontend/feature-landingpage/src/lib/home/home.component.html b/libs/domains/decabill/frontend/feature-landingpage/src/lib/home/home.component.html
index 01f09f842..b877e0d97 100644
--- a/libs/domains/decabill/frontend/feature-landingpage/src/lib/home/home.component.html
+++ b/libs/domains/decabill/frontend/feature-landingpage/src/lib/home/home.component.html
@@ -64,35 +64,50 @@
-
-

-

-

-

+
+
+
+
+
+
+
+
+
+
+ cloud.decabill.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cloud.decabill.com
+
+
+
+

+
+
+
diff --git a/libs/domains/decabill/frontend/feature-landingpage/src/lib/home/home.component.scss b/libs/domains/decabill/frontend/feature-landingpage/src/lib/home/home.component.scss
index faa6f0a87..8d698d71d 100644
--- a/libs/domains/decabill/frontend/feature-landingpage/src/lib/home/home.component.scss
+++ b/libs/domains/decabill/frontend/feature-landingpage/src/lib/home/home.component.scss
@@ -159,11 +159,6 @@
background-color: #fff;
}
-.home-sell-screenshot {
- display: block;
- margin-top: -8rem;
-}
-
.home-compliance {
--bs-border-color: rgba(255, 255, 255, 0.12);
}
@@ -187,14 +182,10 @@
}
.intent-cards {
- margin-top: -5rem;
position: relative;
@media (max-width: 768px) {
- padding-top: 2.5rem;
- margin-top: 0;
-
- > .intent-card {
+ .intent-cards-browser {
display: none;
}
@@ -203,29 +194,28 @@
}
}
- @media (max-width: 992px) and (min-width: 768px) {
- margin-top: -2rem;
- }
+ // Chrome comes from `.browser-frame` in page.component.scss; the hero shows a wider crop of the screenshot
+ .intent-cards-browser {
+ z-index: 3;
- @media (max-width: 1200px) and (min-width: 992px) {
- margin-top: -3rem;
- }
+ .browser-frame__viewport {
+ aspect-ratio: 16 / 7;
+ }
- > .intent-card {
- position: relative;
- z-index: 3;
- display: block;
+ .browser-frame__screenshot {
+ object-position: center;
+ }
}
.intent-card-indicators {
- position: absolute;
- left: 50%;
- bottom: 0.75rem;
- z-index: 4;
display: flex;
align-items: center;
justify-content: center;
gap: 0.125rem;
+ bottom: 0.75rem;
+ position: absolute;
+ z-index: 10;
+ left: 50%;
transform: translateX(-50%);
}
diff --git a/libs/domains/decabill/frontend/feature-landingpage/src/lib/page.component.scss b/libs/domains/decabill/frontend/feature-landingpage/src/lib/page.component.scss
index c98b157c5..28a8b5ae9 100644
--- a/libs/domains/decabill/frontend/feature-landingpage/src/lib/page.component.scss
+++ b/libs/domains/decabill/frontend/feature-landingpage/src/lib/page.component.scss
@@ -198,3 +198,102 @@ section {
position: relative;
z-index: 1;
}
+
+// Safari-style window chrome; screenshots are expected as plain 16:9 captures without their own frame
+.browser-frame {
+ position: relative;
+ padding: 0 0.5rem 0.5rem;
+ border: 1px solid var(--bs-border-color);
+ border-top-left-radius: var(--bs-border-radius-lg);
+ border-top-right-radius: var(--bs-border-radius-lg);
+ background-color: var(--bs-dark);
+ box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.25);
+}
+
+.browser-frame__toolbar {
+ display: grid;
+ grid-template-columns: 1fr minmax(0, 2fr) 1fr;
+ align-items: center;
+ height: 2.75rem;
+ padding: 0 0.5rem;
+}
+
+.browser-frame__lights {
+ display: flex;
+ gap: 0.5rem;
+}
+
+.browser-frame__light {
+ width: 0.75rem;
+ height: 0.75rem;
+ border-radius: 50%;
+
+ &--close {
+ background-color: #ff5f57;
+ }
+
+ &--minimize {
+ background-color: #febc2e;
+ }
+
+ &--zoom {
+ background-color: #28c840;
+ }
+}
+
+.browser-frame__address {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 0.375rem;
+ height: 1.75rem;
+ overflow: hidden;
+ border-radius: 0.5rem;
+ background-color: rgba(255, 255, 255, 0.08);
+ color: rgba(255, 255, 255, 0.7);
+ font-size: 0.8125rem;
+ white-space: nowrap;
+
+ > .bi {
+ font-size: 0.6875rem;
+ }
+}
+
+.browser-frame__viewport {
+ aspect-ratio: 16 / 9;
+ overflow: hidden;
+ border-radius: 0.375rem;
+}
+
+.browser-frame__screenshot {
+ display: block;
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ object-position: left top;
+}
+
+// Bento cards: the window enters from the lower left and bleeds off the right and bottom card edges,
+// keeping the navigation and top-left content of the screenshot in view
+.browser-peek {
+ aspect-ratio: 16 / 9;
+ margin-top: auto;
+ padding: 1rem 0 0 clamp(1rem, 6%, 3rem);
+ overflow: hidden;
+
+ .browser-frame {
+ width: 125%;
+ padding-right: 0;
+ padding-bottom: 0;
+ border-right: 0;
+ border-bottom: 0;
+ border-top-right-radius: 0;
+ box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.18);
+ }
+
+ .browser-frame__viewport {
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0;
+ }
+}