Hero fit: mobile fills one screen with SCROLL visible; desktop video clears the nav/CTA

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-17 14:08:34 +02:00
parent 3252041e65
commit 4603682b35
+12 -6
View File
@@ -161,9 +161,9 @@ body.menu-open .drawer { transform: translateY(0); opacity: 1; pointer-events: a
@media (min-width: 960px) { @media (min-width: 960px) {
.hero__ghost { --btn-fg: var(--color-ink); border-color: var(--color-line-2); background: transparent; } .hero__ghost { --btn-fg: var(--color-ink); border-color: var(--color-line-2); background: transparent; }
.hero__ghost:hover { background: var(--color-paper-2); border-color: var(--color-ink-soft); } .hero__ghost:hover { background: var(--color-paper-2); border-color: var(--color-ink-soft); }
.hero { display: flex; align-items: center; color: var(--color-ink); background: var(--color-paper); min-height: min(98vh, 1000px); padding-top: 5rem; } .hero { display: flex; align-items: center; color: var(--color-ink); background: var(--color-paper); min-height: min(92vh, 900px); padding-top: 7rem; padding-bottom: 2.5rem; }
.hero__grid { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: clamp(1.75rem, 3.5vw, 3.5rem); align-items: center; min-height: auto; } .hero__grid { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: clamp(1.75rem, 3.5vw, 3.5rem); align-items: center; min-height: auto; }
.hero__media { position: relative; inset: auto; z-index: 1; border-radius: var(--radius-lg); overflow: clip; aspect-ratio: 4/5; max-height: 88vh; box-shadow: var(--shadow-soft); } .hero__media { position: relative; inset: auto; z-index: 1; border-radius: var(--radius-lg); overflow: clip; aspect-ratio: 4/5; max-height: 68vh; box-shadow: var(--shadow-soft); }
.hero__media::after { background: linear-gradient(180deg, transparent 55%, oklch(24% 0.02 54 / 0.30) 100%); } .hero__media::after { background: linear-gradient(180deg, transparent 55%, oklch(24% 0.02 54 / 0.30) 100%); }
.hero__text { padding-block: 0; padding-right: clamp(0.5rem, 2vw, 2rem); } .hero__text { padding-block: 0; padding-right: clamp(0.5rem, 2vw, 2rem); }
.hero h1 { font-size: clamp(3rem, 5.4vw, 5.4rem); line-height: 1.03; max-width: 12ch; margin-top: var(--space-lg); } .hero h1 { font-size: clamp(3rem, 5.4vw, 5.4rem); line-height: 1.03; max-width: 12ch; margin-top: var(--space-lg); }
@@ -198,10 +198,16 @@ body.menu-open .drawer { transform: translateY(0); opacity: 1; pointer-events: a
.brand__name { display: flex; flex-direction: column; font-size: 0.95rem; line-height: 1.05; letter-spacing: 0.13em; font-weight: 700; white-space: nowrap; } .brand__name { display: flex; flex-direction: column; font-size: 0.95rem; line-height: 1.05; letter-spacing: 0.13em; font-weight: 700; white-space: nowrap; }
.brand__name b { display: block; font-weight: 700; } .brand__name b { display: block; font-weight: 700; }
/* Push the hero's top cluster down, clear of the nav, with breathing room between lines */ /* Hero fills exactly one screen: content sits just below the nav and flows down;
.hero__grid { padding-top: clamp(5rem, 14vh, 7.5rem); } the SCROLL cue is pushed to the bottom (margin-top:auto), so the slack absorbs
.hero__eyebrow { margin-bottom: var(--space-xs); } into the gap above it and it fits short and tall phones alike. */
.hero h1 { margin-top: var(--space-xl); } .hero__grid { padding-top: 0; }
.hero__text { display: flex; flex-direction: column; min-height: 100svh; padding-block: clamp(4.5rem, 12vh, 6.5rem) clamp(1.5rem, 4vh, 2.5rem); }
.hero h1 { margin-top: clamp(0.85rem, 2.8vh, 1.6rem); }
.hero__sub { margin-top: clamp(0.7rem, 2vh, 1.25rem); }
.hero__actions { margin-top: clamp(1rem, 2.8vh, 1.9rem); }
.hero__quote { margin-top: clamp(1rem, 2.6vh, 1.75rem); padding-top: clamp(0.7rem, 1.6vh, 1rem); }
.hero__scroll { margin-top: auto; padding-top: clamp(1rem, 3vh, 2rem); }
/* Over the dark hero video (nav transparent) — light + legible */ /* Over the dark hero video (nav transparent) — light + legible */
.nav:not(.nav--solid) .brand__name { color: var(--color-shell); text-shadow: 0 1px 14px oklch(18% 0.02 54 / 0.6); } .nav:not(.nav--solid) .brand__name { color: var(--color-shell); text-shadow: 0 1px 14px oklch(18% 0.02 54 / 0.6); }