Compare commits
No commits in common. "78649c6f3be167723c3c254e5207b60f93108e22" and "e8f3bf8686e759b8639341603ca8894a8454cbc1" have entirely different histories.
78649c6f3b
...
e8f3bf8686
@ -74,17 +74,15 @@ html,
|
|||||||
body {
|
body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
width: 100%;
|
|
||||||
max-width: 100%;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
background-color: var(--color-bg);
|
background-color: var(--color-bg);
|
||||||
color: var(--color-text-primary);
|
color: var(--color-text-primary);
|
||||||
font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
overflow-x: clip;
|
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
-moz-osx-font-smoothing: grayscale;
|
-moz-osx-font-smoothing: grayscale;
|
||||||
direction: ltr !important;
|
direction: ltr !important;
|
||||||
|
unicode-bidi: isolate;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -715,11 +713,7 @@ html {
|
|||||||
.light-sweep { animation: none !important; opacity: 0 !important; }
|
.light-sweep { animation: none !important; opacity: 0 !important; }
|
||||||
}
|
}
|
||||||
|
|
||||||
html, body { overflow-x: hidden; overflow-x: clip; max-width: 100%; position: relative; }
|
html, body { overflow-x: hidden; max-width: 100vw; }
|
||||||
|
|
||||||
/* Catch-all guard against horizontal overflow */
|
|
||||||
main, footer, nav, section, header { max-width: 100%; overflow-x: hidden; overflow-x: clip; }
|
|
||||||
main { width: 100%; }
|
|
||||||
|
|
||||||
/* === GLOBAL RESPONSIVE GUARDS === */
|
/* === GLOBAL RESPONSIVE GUARDS === */
|
||||||
|
|
||||||
|
|||||||
@ -67,7 +67,7 @@ export default function RootLayout({
|
|||||||
<I18nProvider>
|
<I18nProvider>
|
||||||
{children}
|
{children}
|
||||||
{/* WhatsApp Floating Button */}
|
{/* WhatsApp Floating Button */}
|
||||||
<a href="https://wa.me/971559482728" target="_blank" rel="noopener noreferrer" aria-label="Contact us on WhatsApp" className="wa-fab fixed z-50 flex items-center justify-center h-14 w-14 rounded-full bg-gradient-to-r from-[#25D366] to-[#128C7E] text-white shadow-lg shadow-[#25D366]/30 transition-all duration-300 ease-out hover:scale-110 hover:shadow-[#25D366]/50 hover:shadow-xl active:scale-95 group" style={{ right: 'max(1rem, env(safe-area-inset-right, 0px))' }}>
|
<a href="https://wa.me/971559482728" target="_blank" rel="noopener noreferrer" aria-label="Contact us on WhatsApp" className="wa-fab fixed z-50 flex items-center justify-center h-14 w-14 rounded-full bg-gradient-to-r from-[#25D366] to-[#128C7E] text-white shadow-lg shadow-[#25D366]/30 transition-all duration-300 ease-out hover:scale-110 hover:shadow-[#25D366]/50 hover:shadow-xl active:scale-95 group" style={{ insetInlineEnd: 'max(1rem, env(safe-area-inset-right, 0px))' }}>
|
||||||
<span className="absolute inset-0 -z-10 rounded-full bg-gradient-to-r from-[#25D366] to-[#128C7E] opacity-0 blur-xl transition-opacity duration-300 group-hover:opacity-100"></span>
|
<span className="absolute inset-0 -z-10 rounded-full bg-gradient-to-r from-[#25D366] to-[#128C7E] opacity-0 blur-xl transition-opacity duration-300 group-hover:opacity-100"></span>
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="tabler-icon tabler-icon-brand-whatsapp relative z-10 h-8 w-8">
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="tabler-icon tabler-icon-brand-whatsapp relative z-10 h-8 w-8">
|
||||||
<path d="M3 21l1.65 -3.8a9 9 0 1 1 3.4 2.9l-5.05 .9"></path>
|
<path d="M3 21l1.65 -3.8a9 9 0 1 1 3.4 2.9l-5.05 .9"></path>
|
||||||
|
|||||||
@ -93,9 +93,9 @@ export function ExclusiveAccessSection() {
|
|||||||
|
|
||||||
{/* Right premium showroom grid */}
|
{/* Right premium showroom grid */}
|
||||||
<div
|
<div
|
||||||
className="exa-tiles"
|
|
||||||
style={{
|
style={{
|
||||||
display: 'grid',
|
display: 'grid',
|
||||||
|
gridTemplateColumns: 'repeat(2, minmax(0, 1fr))',
|
||||||
gap: '0.875rem',
|
gap: '0.875rem',
|
||||||
minWidth: 0,
|
minWidth: 0,
|
||||||
}}
|
}}
|
||||||
@ -125,14 +125,6 @@ export function ExclusiveAccessSection() {
|
|||||||
.exa-grid {
|
.exa-grid {
|
||||||
grid-template-columns: 1fr;
|
grid-template-columns: 1fr;
|
||||||
}
|
}
|
||||||
.exa-tiles {
|
|
||||||
grid-template-columns: minmax(0, 1fr);
|
|
||||||
}
|
|
||||||
@media (min-width: 640px) {
|
|
||||||
.exa-tiles {
|
|
||||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media (min-width: 1024px) {
|
@media (min-width: 1024px) {
|
||||||
.exa-grid {
|
.exa-grid {
|
||||||
grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
|
grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
|
||||||
|
|||||||
@ -48,9 +48,9 @@ export function FounderSection() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
className="fs-pillars"
|
|
||||||
style={{
|
style={{
|
||||||
display: 'grid',
|
display: 'grid',
|
||||||
|
gridTemplateColumns: 'repeat(2, 1fr)',
|
||||||
gap: '1rem',
|
gap: '1rem',
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
@ -60,17 +60,6 @@ export function FounderSection() {
|
|||||||
<Pillar value="Future" label="Smart, autonomous, intelligent" />
|
<Pillar value="Future" label="Smart, autonomous, intelligent" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style jsx>{`
|
|
||||||
.fs-pillars {
|
|
||||||
grid-template-columns: minmax(0, 1fr);
|
|
||||||
}
|
|
||||||
@media (min-width: 640px) {
|
|
||||||
.fs-pillars {
|
|
||||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`}</style>
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -61,14 +61,14 @@ export function IndustryUseCases({ limit }: { limit?: number }) {
|
|||||||
<motion.ul
|
<motion.ul
|
||||||
className="iu-stats"
|
className="iu-stats"
|
||||||
role="list"
|
role="list"
|
||||||
style={{ listStyle: 'none', margin: 0, padding: 0 }}
|
style={{ display: 'flex', flexDirection: 'row', flexWrap: 'nowrap', gap: '0.45rem', listStyle: 'none', margin: 0, padding: 0 }}
|
||||||
initial={{ opacity: 0, y: 12 }}
|
initial={{ opacity: 0, y: 12 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
viewport={{ once: true, margin: '-10%' }}
|
viewport={{ once: true, margin: '-10%' }}
|
||||||
transition={{ duration: 0.6, ease }}
|
transition={{ duration: 0.6, ease }}
|
||||||
>
|
>
|
||||||
{STATS.map((s) => (
|
{STATS.map((s) => (
|
||||||
<li key={s.label} className="iu-stat">
|
<li key={s.label} className="iu-stat" style={{ flex: '1 1 0', minWidth: 0 }}>
|
||||||
<span className="iu-stat-value">{s.value}</span>
|
<span className="iu-stat-value">{s.value}</span>
|
||||||
<span className="iu-stat-label">{s.label}</span>
|
<span className="iu-stat-label">{s.label}</span>
|
||||||
</li>
|
</li>
|
||||||
@ -90,14 +90,15 @@ export function IndustryUseCases({ limit }: { limit?: number }) {
|
|||||||
gap: clamp(1.5rem, 3vw, 2.25rem);
|
gap: clamp(1.5rem, 3vw, 2.25rem);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* STATS — single column on mobile, single row on tablet+ */
|
/* STATS — always single row */
|
||||||
.iu-stats {
|
.iu-stats {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
margin: 0 0 clamp(0.5rem, 1.5vw, 1rem);
|
margin: 0 0 clamp(0.5rem, 1.5vw, 1rem);
|
||||||
padding: 0;
|
padding: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: row;
|
||||||
gap: 0.55rem;
|
flex-wrap: nowrap;
|
||||||
|
gap: 0.45rem;
|
||||||
}
|
}
|
||||||
.iu-stat {
|
.iu-stat {
|
||||||
position: relative;
|
position: relative;
|
||||||
@ -105,9 +106,9 @@ export function IndustryUseCases({ limit }: { limit?: number }) {
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
gap: 0.22rem;
|
gap: 0.22rem;
|
||||||
flex: 1 1 0;
|
flex: 1;
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
padding: 0.85rem 1rem;
|
padding: 0.6rem 0.55rem;
|
||||||
border-radius: 14px;
|
border-radius: 14px;
|
||||||
border: 1px solid rgba(120, 140, 255, 0.22);
|
border: 1px solid rgba(120, 140, 255, 0.22);
|
||||||
background:
|
background:
|
||||||
@ -166,8 +167,8 @@ export function IndustryUseCases({ limit }: { limit?: number }) {
|
|||||||
position: relative;
|
position: relative;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
@media (min-width: 640px) {
|
@media (min-width: 520px) {
|
||||||
.iu-stats { flex-direction: row; flex-wrap: nowrap; gap: 0.6rem; }
|
.iu-stats { gap: 0.6rem; }
|
||||||
.iu-stat { padding: 0.72rem 0.85rem; gap: 0.28rem; border-radius: 16px; }
|
.iu-stat { padding: 0.72rem 0.85rem; gap: 0.28rem; border-radius: 16px; }
|
||||||
}
|
}
|
||||||
@media (min-width: 820px) {
|
@media (min-width: 820px) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user