fix(vitrine): hero comme le login app (river_logo + paper, sans dégradé vert).
Déploiement Hugo Staging / deploy-staging (push) Waiting to run
Déploiement Hugo Staging / deploy-staging (push) Waiting to run
This commit is contained in:
+13
-5
@@ -1,9 +1,20 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
<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__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">
|
<div class="hero__copy">
|
||||||
<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 }}
|
||||||
<p class="hero__tagline">{{ . }}</p>
|
<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>
|
<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">
|
||||||
|
|||||||
+60
-90
@@ -229,78 +229,62 @@ body {
|
|||||||
text-decoration: underline;
|
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 {
|
.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: grid;
|
||||||
flex-direction: column;
|
grid-template-columns: 1fr;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
gap: 1.5rem;
|
||||||
overflow: hidden;
|
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 {
|
.hero__visual {
|
||||||
position: absolute;
|
position: relative;
|
||||||
inset: 0;
|
z-index: 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%);
|
animation: heroIn 0.9s var(--ease) both;
|
||||||
pointer-events: none;
|
}
|
||||||
|
.hero__brand-img {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
max-height: min(72vh, 38rem);
|
||||||
|
object-fit: contain;
|
||||||
|
object-position: left center;
|
||||||
}
|
}
|
||||||
.hero__copy {
|
.hero__copy {
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
width: min(52rem, 92vw);
|
animation: heroIn 0.8s var(--ease) 0.08s both;
|
||||||
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); }
|
|
||||||
}
|
}
|
||||||
@keyframes heroIn {
|
@keyframes heroIn {
|
||||||
from { opacity: 0; transform: translateY(0.75rem); }
|
from { opacity: 0; transform: translateY(0.6rem); }
|
||||||
to { opacity: 1; transform: translateY(0); }
|
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 {
|
.hero__title {
|
||||||
font-family: var(--font-brand);
|
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;
|
font-weight: 600;
|
||||||
line-height: 1.22;
|
line-height: 1.22;
|
||||||
margin: 0 auto 0.85rem;
|
margin: 0 0 0.75rem;
|
||||||
max-width: 28ch;
|
color: var(--ink);
|
||||||
}
|
}
|
||||||
.hero__tagline {
|
.hero__tagline {
|
||||||
margin: 0 auto 1.75rem;
|
margin: 0 0 1.5rem;
|
||||||
color: var(--ink-soft);
|
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;
|
line-height: 1.45;
|
||||||
max-width: 38rem;
|
|
||||||
}
|
}
|
||||||
.hero__actions {
|
.hero__actions {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -310,66 +294,50 @@ body {
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Desktop : comme le login — image rivière+logo à gauche, message à droite */
|
||||||
@media (min-width: 64rem) {
|
@media (min-width: 64rem) {
|
||||||
.hero {
|
.hero {
|
||||||
display: grid;
|
grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
|
||||||
grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
|
column-gap: 2rem;
|
||||||
|
padding: 2rem 2.5rem 3rem;
|
||||||
align-items: center;
|
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 {
|
.hero__copy {
|
||||||
width: auto;
|
|
||||||
max-width: none;
|
|
||||||
text-align: left;
|
text-align: left;
|
||||||
justify-self: stretch;
|
padding-right: 1rem;
|
||||||
}
|
}
|
||||||
.hero__title {
|
.hero__title {
|
||||||
margin: 0 0 0.85rem;
|
font-size: clamp(1.85rem, 1.4rem + 1.1vw, 2.6rem);
|
||||||
max-width: none;
|
margin-bottom: 1rem;
|
||||||
font-size: clamp(2rem, 1.5rem + 1.2vw, 2.85rem);
|
|
||||||
}
|
}
|
||||||
.hero__tagline {
|
.hero__tagline {
|
||||||
margin: 0 0 1.5rem;
|
margin-bottom: 1.75rem;
|
||||||
max-width: 36rem;
|
max-width: 28rem;
|
||||||
}
|
}
|
||||||
.hero__actions { justify-content: flex-start; }
|
.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 3.5rem;
|
padding: 1rem 1rem 2rem;
|
||||||
align-items: flex-start;
|
gap: 1rem;
|
||||||
}
|
}
|
||||||
.hero__copy { width: 100%; }
|
.hero__brand-img {
|
||||||
.hero__river {
|
max-height: 48vh;
|
||||||
width: 130vw;
|
margin: 0 auto;
|
||||||
bottom: -8%;
|
|
||||||
opacity: 0.75;
|
|
||||||
}
|
}
|
||||||
.hero__brand { font-size: 2rem; }
|
.hero__title { font-size: 1.3rem; }
|
||||||
.hero__title { font-size: 1.25rem; max-width: none; }
|
.hero__tagline { font-size: 0.98rem; margin-bottom: 1.2rem; }
|
||||||
.hero__tagline { font-size: 0.98rem; margin-bottom: 1.25rem; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Sections */
|
/* Sections */
|
||||||
@@ -444,7 +412,9 @@ body {
|
|||||||
.exp-card a:hover { text-decoration: underline; }
|
.exp-card a:hover { text-decoration: underline; }
|
||||||
|
|
||||||
.pilotage-teaser {
|
.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); }
|
.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 |
Reference in New Issue
Block a user