From bc402a5fdc2901333a409bd0c2892547078b21db Mon Sep 17 00:00:00 2001 From: reza karimi Date: Wed, 7 Oct 2026 14:07:12 +0330 Subject: [PATCH] fix: landing responsive --- pages/landing.js | 153 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 116 insertions(+), 37 deletions(-) diff --git a/pages/landing.js b/pages/landing.js index e182185..d27e61c 100644 --- a/pages/landing.js +++ b/pages/landing.js @@ -122,8 +122,24 @@ const Landing = () => { } .container { - width: min(1180px, calc(100% - 2rem)); + width: calc(100% - 2rem); + max-width: 1180px; margin: 0 auto; + min-width: 0; + } + + .hero-content, + .quick-link, + .about-visual, + .about-copy, + .stat, + .department-card, + .value, + .recruitment-intro, + .recruitment-links, + .contact-copy, + .contact-actions { + min-width: 0; } .hero { @@ -340,7 +356,7 @@ const Landing = () => { .quick-access { display: grid; - grid-template-columns: repeat(4, 1fr); + grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid rgba(23, 113, 113, 0.1); border-radius: 1.15rem; @@ -386,6 +402,10 @@ const Landing = () => { display: block; } + .quick-copy { + min-width: 0; + } + .quick-copy strong { margin-bottom: 0.3rem; font-size: 0.95rem; @@ -445,7 +465,7 @@ const Landing = () => { .about-grid { display: grid; - grid-template-columns: 1fr 1.03fr; + grid-template-columns: minmax(0, 1fr) minmax(0, 1.03fr); align-items: center; gap: clamp(2rem, 6vw, 5.5rem); } @@ -525,7 +545,7 @@ const Landing = () => { .stats { display: grid; - grid-template-columns: repeat(4, 1fr); + grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: 5rem; } @@ -557,7 +577,7 @@ const Landing = () => { .departments-grid { display: grid; - grid-template-columns: repeat(3, 1fr); + grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; } @@ -608,7 +628,7 @@ const Landing = () => { .gallery-grid { display: grid; - grid-template-columns: 1.5fr 1fr; + grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); grid-template-rows: repeat(2, 220px); gap: 1rem; } @@ -634,7 +654,7 @@ const Landing = () => { .values { display: grid; - grid-template-columns: repeat(3, 1fr); + grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; } @@ -676,7 +696,7 @@ const Landing = () => { .recruitment-panel { display: grid; - grid-template-columns: 1fr 1fr; + grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: clamp(2rem, 5vw, 4rem); padding: clamp(1.75rem, 5vw, 3.5rem); @@ -696,6 +716,7 @@ const Landing = () => { .recruitment-links { display: grid; + grid-template-columns: minmax(0, 1fr); gap: 0.9rem; } @@ -703,6 +724,7 @@ const Landing = () => { display: flex; align-items: center; gap: 1rem; + min-width: 0; min-height: 96px; padding: 1rem 1.2rem; border: 1px solid #e0eeec; @@ -737,6 +759,10 @@ const Landing = () => { display: block; } + .recruitment-copy { + min-width: 0; + } + .recruitment-copy strong { margin-bottom: 0.25rem; font-size: 0.95rem; @@ -757,7 +783,7 @@ const Landing = () => { .contact-card { position: relative; display: grid; - grid-template-columns: 1.3fr 0.7fr; + grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr); align-items: center; gap: 2rem; overflow: hidden; @@ -826,21 +852,23 @@ const Landing = () => { } .hero-layout { - grid-template-columns: 1fr; + grid-template-columns: minmax(0, 1fr); gap: 2rem; } .hero-content { - padding: 5rem 0 0; + padding: 4.5rem 0 0; } .hero-video { - width: min(100%, 720px); - margin-bottom: 7rem; + width: 100%; + max-width: 520px; + justify-self: center; + margin-bottom: 5rem; } .quick-access { - grid-template-columns: repeat(2, 1fr); + grid-template-columns: repeat(2, minmax(0, 1fr)); } .quick-link:nth-child(2) { @@ -852,11 +880,11 @@ const Landing = () => { } .about-grid { - grid-template-columns: 1fr; + grid-template-columns: minmax(0, 1fr); } .recruitment-panel { - grid-template-columns: 1fr; + grid-template-columns: minmax(0, 1fr); } .about-visual { @@ -864,11 +892,11 @@ const Landing = () => { } .departments-grid { - grid-template-columns: repeat(2, 1fr); + grid-template-columns: repeat(2, minmax(0, 1fr)); } .contact-card { - grid-template-columns: 1fr; + grid-template-columns: minmax(0, 1fr); } .contact-actions { @@ -878,7 +906,7 @@ const Landing = () => { @media (max-width: 700px) { .container { - width: min(100% - 1.25rem, 1180px); + width: calc(100% - 1.25rem); } .hero { @@ -890,15 +918,31 @@ const Landing = () => { } .hero-content { - padding: 7rem 0 0; + padding: 4.5rem 0 0; } .hero-video { - margin-bottom: 5rem; + max-width: 440px; + margin-bottom: 4.5rem; + } + + .hero-video video { + aspect-ratio: 1 / 1; + } + + .hero-play-icon { + width: 64px; + height: 64px; + } + + .eyebrow { + max-width: 100%; + font-size: 0.75rem; + line-height: 1.6; } .hero h1 { - font-size: 2.35rem; + font-size: clamp(1.85rem, 8vw, 2.35rem); } .hero-description { @@ -910,16 +954,21 @@ const Landing = () => { width: 100%; } + .hero-actions { + margin-top: 1.5rem; + } + .quick-access-wrap { margin-top: -45px; } .quick-access { - grid-template-columns: 1fr; + grid-template-columns: minmax(0, 1fr); } .quick-link { - min-height: 105px; + min-height: 92px; + padding: 1rem; border-left: 0; border-bottom: 1px solid #e7eeee; } @@ -929,47 +978,61 @@ const Landing = () => { } .section { - padding: 4.5rem 0; + padding: 3.5rem 0; } .section-heading { align-items: flex-start; flex-direction: column; - gap: 1rem; + gap: 0.8rem; + margin-bottom: 1.75rem; } .about-visual { - min-height: 350px; + min-height: 320px; } .about-image { - inset: 0 0 1.5rem 1rem; + inset: 0 0 1.2rem 0.8rem; } .about-badge { - width: 150px; - min-height: 125px; - padding: 1rem; + width: 135px; + min-height: 110px; + padding: 0.85rem; + border-width: 6px; } .about-badge strong { - font-size: 1.55rem; + font-size: 1.25rem; + } + + .about-badge span { + font-size: 0.7rem; } .about-points, - .stats, .departments-grid, .values { - grid-template-columns: 1fr; + grid-template-columns: minmax(0, 1fr); } .stats { - grid-template-columns: repeat(2, 1fr); - margin-top: 3.5rem; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 0.7rem; + margin-top: 2.5rem; + } + + .stat { + padding: 1rem 0.5rem; + } + + .stat strong { + font-size: clamp(1.2rem, 6vw, 1.65rem); } .gallery-grid { - grid-template-columns: 1fr; + grid-template-columns: minmax(0, 1fr); grid-template-rows: repeat(3, 230px); } @@ -982,9 +1045,25 @@ const Landing = () => { } .recruitment-panel { + padding: 1.25rem; border-radius: 1rem; } + .recruitment-link { + gap: 0.7rem; + padding: 0.85rem; + } + + .recruitment-icon { + width: 44px; + height: 44px; + flex-basis: 44px; + } + + .contact-card { + padding: 1.5rem; + } + .contact-actions { max-width: none; }