fix(vitrine): hero desktop en 2 colonnes, moins « téléphone ».
Déploiement Hugo Staging / deploy-staging (push) Waiting to run

This commit is contained in:
deploy
2026-10-08 12:36:23 +02:00
parent 4b9ac57ca8
commit c1f4f747e2
2 changed files with 95 additions and 33 deletions
+4 -4
View File
@@ -2,10 +2,7 @@
<div class="home"> <div class="home">
<section class="hero" aria-labelledby="hero-title"> <section class="hero" aria-labelledby="hero-title">
<div class="hero__bg" aria-hidden="true"></div> <div class="hero__bg" aria-hidden="true"></div>
<div class="hero__river" aria-hidden="true"> <div class="hero__copy">
<img src="{{ "images/app/river.png" | relURL }}" alt="" width="1400" height="400" decoding="async">
</div>
<div class="hero__inner">
<p class="hero__brand">P'titsPas</p> <p class="hero__brand">P'titsPas</p>
<h1 id="hero-title" class="hero__title">{{ .Title }}</h1> <h1 id="hero-title" class="hero__title">{{ .Title }}</h1>
{{ with .Params.hero_tagline }} {{ with .Params.hero_tagline }}
@@ -15,6 +12,9 @@
<a class="btn btn--pill" href="{{ .Params.cta_primary_url | default "/contact/" | relURL }}">{{ .Params.cta_primary | default "Demander une démonstration" }}</a> <a class="btn btn--pill" href="{{ .Params.cta_primary_url | default "/contact/" | relURL }}">{{ .Params.cta_primary | default "Demander une démonstration" }}</a>
</p> </p>
</div> </div>
<div class="hero__river" aria-hidden="true">
<img src="{{ "images/app/river.png" | relURL }}" alt="" width="1400" height="400" decoding="async">
</div>
</section> </section>
<section class="section experiences" aria-labelledby="exp-title"> <section class="section experiences" aria-labelledby="exp-title">
+91 -29
View File
@@ -25,7 +25,7 @@
--font-body: "Source Serif 4", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif; --font-body: "Source Serif 4", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
--font-ui: "Segoe UI", "Helvetica Neue", sans-serif; --font-ui: "Segoe UI", "Helvetica Neue", sans-serif;
--header-h: 3.75rem; --header-h: 3.75rem;
--max: 68rem; --max: 72rem;
--ease: cubic-bezier(0.22, 1, 0.36, 1); --ease: cubic-bezier(0.22, 1, 0.36, 1);
} }
@@ -161,9 +161,15 @@ body {
.site-main { min-height: 60vh; } .site-main { min-height: 60vh; }
.page-shell { .page-shell {
max-width: 44rem; max-width: min(52rem, 92vw);
margin: 0 auto; margin: 0 auto;
padding: 2.5rem 1.25rem 4rem; padding: 2.5rem 1.5rem 4rem;
}
@media (min-width: 64rem) {
.page-shell {
max-width: min(58rem, 88vw);
padding: 3rem 2rem 5rem;
}
} }
.page-shell .content { .page-shell .content {
background: var(--surface); background: var(--surface);
@@ -223,31 +229,40 @@ body {
text-decoration: underline; text-decoration: underline;
} }
/* Hero */ /* Hero — desktop large (2 colonnes), mobile compact */
.hero { .hero {
position: relative; position: relative;
min-height: calc(100vh - var(--header-h)); min-height: calc(100vh - var(--header-h));
min-height: calc(100dvh - var(--header-h)); min-height: calc(100dvh - var(--header-h));
display: flex; display: flex;
flex-direction: column;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
overflow: hidden; overflow: hidden;
padding: 2rem 1.25rem 4rem; padding: 2rem 1.25rem 5rem;
} }
.hero__bg { .hero__bg {
position: absolute; position: absolute;
inset: 0; inset: 0;
background: linear-gradient(180deg, rgba(247,241,232,0.55) 0%, rgba(247,241,232,0.2) 40%, rgba(174,225,205,0.25) 100%); background: linear-gradient(180deg, rgba(247,241,232,0.55) 0%, rgba(247,241,232,0.15) 45%, rgba(174,225,205,0.28) 100%);
pointer-events: none; pointer-events: none;
} }
.hero__copy {
position: relative;
z-index: 1;
text-align: center;
width: min(52rem, 92vw);
animation: heroIn 0.8s var(--ease) both;
}
.hero__river { .hero__river {
position: absolute; position: absolute;
left: 50%; left: 50%;
bottom: -2%; bottom: -4%;
width: min(110vw, 56rem); width: min(120vw, 72rem);
transform: translateX(-50%); transform: translateX(-50%);
opacity: 0.92; opacity: 0.95;
pointer-events: none; pointer-events: none;
z-index: 0;
animation: riverIn 1.1s var(--ease) both; animation: riverIn 1.1s var(--ease) both;
} }
.hero__river img { .hero__river img {
@@ -258,14 +273,7 @@ body {
} }
@keyframes riverIn { @keyframes riverIn {
from { opacity: 0; transform: translateX(-50%) translateY(1.5rem); } from { opacity: 0; transform: translateX(-50%) translateY(1.5rem); }
to { opacity: 0.92; transform: translateX(-50%) translateY(0); } to { opacity: 0.95; transform: translateX(-50%) translateY(0); }
}
.hero__inner {
position: relative;
z-index: 1;
text-align: center;
max-width: 36rem;
animation: heroIn 0.8s var(--ease) both;
} }
@keyframes heroIn { @keyframes heroIn {
from { opacity: 0; transform: translateY(0.75rem); } from { opacity: 0; transform: translateY(0.75rem); }
@@ -273,47 +281,94 @@ body {
} }
.hero__brand { .hero__brand {
font-family: var(--font-brand); font-family: var(--font-brand);
font-size: clamp(2.2rem, 1.6rem + 3vw, 3.5rem); font-size: clamp(2.4rem, 1.5rem + 3.5vw, 4.25rem);
font-weight: 700; font-weight: 700;
margin: 0 0 0.75rem; margin: 0 0 0.85rem;
letter-spacing: -0.03em; letter-spacing: -0.03em;
color: var(--ink); color: var(--ink);
} }
.hero__title { .hero__title {
font-family: var(--font-brand); font-family: var(--font-brand);
font-size: clamp(1.35rem, 1.1rem + 1.2vw, 1.85rem); font-size: clamp(1.45rem, 1.1rem + 1.8vw, 2.35rem);
font-weight: 600; font-weight: 600;
line-height: 1.25; line-height: 1.22;
margin: 0 0 0.75rem; margin: 0 auto 0.85rem;
max-width: 28ch;
} }
.hero__tagline { .hero__tagline {
margin: 0 0 1.5rem; margin: 0 auto 1.75rem;
color: var(--ink-soft); color: var(--ink-soft);
font-size: 1.05rem; font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.25rem);
line-height: 1.45; line-height: 1.45;
max-width: 38rem;
} }
.hero__actions { .hero__actions {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 0.75rem; gap: 0.75rem 1rem;
justify-content: center; justify-content: center;
margin: 0; margin: 0;
} }
@media (min-width: 64rem) {
.hero {
display: grid;
grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
align-items: center;
column-gap: 3rem;
max-width: var(--max);
margin: 0 auto;
width: 100%;
padding: 3.5rem 2.5rem 4rem;
box-sizing: border-box;
}
.hero__bg { border-radius: 0; }
.hero__copy {
width: auto;
max-width: none;
text-align: left;
justify-self: stretch;
}
.hero__title {
margin: 0 0 0.85rem;
max-width: none;
font-size: clamp(2rem, 1.5rem + 1.2vw, 2.85rem);
}
.hero__tagline {
margin: 0 0 1.5rem;
max-width: 36rem;
}
.hero__actions { justify-content: flex-start; }
.hero__river {
position: relative;
left: auto;
bottom: auto;
width: 100%;
max-width: 34rem;
transform: none;
justify-self: end;
animation: riverInDesk 1.1s var(--ease) both;
}
@keyframes riverInDesk {
from { opacity: 0; transform: translateX(1.25rem); }
to { opacity: 0.95; transform: none; }
}
}
@media (max-width: 40rem) { @media (max-width: 40rem) {
.hero { .hero {
min-height: auto; min-height: auto;
padding: 1.75rem 1.1rem 3rem; padding: 1.75rem 1.1rem 3.5rem;
align-items: flex-start; align-items: flex-start;
padding-top: 2rem;
} }
.hero__copy { width: 100%; }
.hero__river { .hero__river {
width: 130vw; width: 130vw;
bottom: -8%; bottom: -8%;
opacity: 0.75; opacity: 0.75;
} }
.hero__brand { font-size: 2rem; } .hero__brand { font-size: 2rem; }
.hero__title { font-size: 1.25rem; } .hero__title { font-size: 1.25rem; max-width: none; }
.hero__tagline { font-size: 0.98rem; margin-bottom: 1.25rem; } .hero__tagline { font-size: 0.98rem; margin-bottom: 1.25rem; }
} }
@@ -346,11 +401,18 @@ body {
padding: 0; padding: 0;
display: grid; display: grid;
grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(3, 1fr);
gap: 1.25rem; gap: 1.5rem;
} }
@media (max-width: 52rem) { @media (max-width: 52rem) {
.exp-grid { grid-template-columns: 1fr; } .exp-grid { grid-template-columns: 1fr; }
} }
@media (min-width: 64rem) {
.experiences .section__inner,
.confiance .section__inner {
max-width: var(--max);
}
.exp-card { padding: 1.75rem 1.6rem; min-height: 12rem; }
}
.exp-card { .exp-card {
background: var(--surface); background: var(--surface);
border-radius: 1.25rem; border-radius: 1.25rem;