fix(vitrine): hero comme le login app (river_logo + paper, sans dégradé vert).
Déploiement Hugo Staging / deploy-staging (push) Waiting to run

This commit is contained in:
deploy
2026-10-08 12:40:29 +02:00
parent c1f4f747e2
commit d599f2e3a0
4 changed files with 73 additions and 95 deletions
+13 -5
View File
@@ -1,9 +1,20 @@
{{ define "main" }}
<div class="home">
<section class="hero" aria-labelledby="hero-title">
<div class="hero__bg" aria-hidden="true"></div>
<div class="hero__visual">
<picture>
<source media="(max-width: 52rem)" srcset="{{ "images/app/river_logo_mobile.png" | relURL }}">
<img
class="hero__brand-img"
src="{{ "images/app/river_logo_desktop.png" | relURL }}"
alt="P'titsPas — Grandir pas à pas, sereinement"
width="1440"
height="1080"
fetchpriority="high"
decoding="async">
</picture>
</div>
<div class="hero__copy">
<p class="hero__brand">P'titsPas</p>
<h1 id="hero-title" class="hero__title">{{ .Title }}</h1>
{{ with .Params.hero_tagline }}
<p class="hero__tagline">{{ . }}</p>
@@ -12,9 +23,6 @@
<a class="btn btn--pill" href="{{ .Params.cta_primary_url | default "/contact/" | relURL }}">{{ .Params.cta_primary | default "Demander une démonstration" }}</a>
</p>
</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 class="section experiences" aria-labelledby="exp-title">
+60 -90
View File
@@ -229,78 +229,62 @@ body {
text-decoration: underline;
}
/* Hero — desktop large (2 colonnes), mobile compact */
/*
Hero aligné sur le login app :
paper2 (body) + river_logo_desktop (rivière + wordmark ensemble).
Pas de dégradé coloré.
*/
.hero {
position: relative;
min-height: calc(100vh - var(--header-h));
min-height: calc(100dvh - var(--header-h));
display: flex;
flex-direction: column;
display: grid;
grid-template-columns: 1fr;
align-items: center;
justify-content: center;
gap: 1.5rem;
overflow: hidden;
padding: 2rem 1.25rem 5rem;
padding: 1.5rem 1.25rem 2.5rem;
max-width: var(--max);
margin: 0 auto;
width: 100%;
box-sizing: border-box;
}
.hero__bg {
position: absolute;
inset: 0;
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;
.hero__visual {
position: relative;
z-index: 0;
animation: heroIn 0.9s var(--ease) both;
}
.hero__brand-img {
display: block;
width: 100%;
height: auto;
max-height: min(72vh, 38rem);
object-fit: contain;
object-position: left center;
}
.hero__copy {
position: relative;
z-index: 1;
text-align: center;
width: min(52rem, 92vw);
animation: heroIn 0.8s var(--ease) both;
}
.hero__river {
position: absolute;
left: 50%;
bottom: -4%;
width: min(120vw, 72rem);
transform: translateX(-50%);
opacity: 0.95;
pointer-events: none;
z-index: 0;
animation: riverIn 1.1s var(--ease) both;
}
.hero__river img {
width: 100%;
height: auto;
display: block;
filter: drop-shadow(0 8px 24px rgba(42, 38, 34, 0.12));
}
@keyframes riverIn {
from { opacity: 0; transform: translateX(-50%) translateY(1.5rem); }
to { opacity: 0.95; transform: translateX(-50%) translateY(0); }
animation: heroIn 0.8s var(--ease) 0.08s both;
}
@keyframes heroIn {
from { opacity: 0; transform: translateY(0.75rem); }
from { opacity: 0; transform: translateY(0.6rem); }
to { opacity: 1; transform: translateY(0); }
}
.hero__brand {
font-family: var(--font-brand);
font-size: clamp(2.4rem, 1.5rem + 3.5vw, 4.25rem);
font-weight: 700;
margin: 0 0 0.85rem;
letter-spacing: -0.03em;
color: var(--ink);
}
.hero__title {
font-family: var(--font-brand);
font-size: clamp(1.45rem, 1.1rem + 1.8vw, 2.35rem);
font-size: clamp(1.45rem, 1.1rem + 1.6vw, 2.4rem);
font-weight: 600;
line-height: 1.22;
margin: 0 auto 0.85rem;
max-width: 28ch;
margin: 0 0 0.75rem;
color: var(--ink);
}
.hero__tagline {
margin: 0 auto 1.75rem;
margin: 0 0 1.5rem;
color: var(--ink-soft);
font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.25rem);
font-size: clamp(1.02rem, 0.95rem + 0.35vw, 1.2rem);
line-height: 1.45;
max-width: 38rem;
}
.hero__actions {
display: flex;
@@ -310,66 +294,50 @@ body {
margin: 0;
}
/* Desktop : comme le login — image rivière+logo à gauche, message à droite */
@media (min-width: 64rem) {
.hero {
display: grid;
grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
column-gap: 2rem;
padding: 2rem 2.5rem 3rem;
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__visual {
align-self: stretch;
display: flex;
align-items: center;
}
.hero__brand-img {
max-height: calc(100vh - var(--header-h) - 4rem);
width: 100%;
}
.hero__copy {
width: auto;
max-width: none;
text-align: left;
justify-self: stretch;
padding-right: 1rem;
}
.hero__title {
margin: 0 0 0.85rem;
max-width: none;
font-size: clamp(2rem, 1.5rem + 1.2vw, 2.85rem);
font-size: clamp(1.85rem, 1.4rem + 1.1vw, 2.6rem);
margin-bottom: 1rem;
}
.hero__tagline {
margin: 0 0 1.5rem;
max-width: 36rem;
margin-bottom: 1.75rem;
max-width: 28rem;
}
.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) {
.hero {
min-height: auto;
padding: 1.75rem 1.1rem 3.5rem;
align-items: flex-start;
padding: 1rem 1rem 2rem;
gap: 1rem;
}
.hero__copy { width: 100%; }
.hero__river {
width: 130vw;
bottom: -8%;
opacity: 0.75;
.hero__brand-img {
max-height: 48vh;
margin: 0 auto;
}
.hero__brand { font-size: 2rem; }
.hero__title { font-size: 1.25rem; max-width: none; }
.hero__tagline { font-size: 0.98rem; margin-bottom: 1.25rem; }
.hero__title { font-size: 1.3rem; }
.hero__tagline { font-size: 0.98rem; margin-bottom: 1.2rem; }
}
/* Sections */
@@ -444,7 +412,9 @@ body {
.exp-card a:hover { text-decoration: underline; }
.pilotage-teaser {
background: linear-gradient(135deg, rgba(230, 230, 250, 0.55), rgba(174, 225, 205, 0.4));
background: rgba(255, 252, 247, 0.55);
border-top: 1px solid rgba(42, 38, 34, 0.06);
border-bottom: 1px solid rgba(42, 38, 34, 0.06);
}
.pilotage-teaser p { color: var(--ink-soft); }
Binary file not shown.

After

Width:  |  Height:  |  Size: 498 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 KiB