<!DOCTYPE html>

<html lang="en">

<head>

Ê <meta charset="utf-8" />

Ê <meta name="viewport" content="width=device-width, initial-scale=1" />

Ê <title>at@berninger.at</title>

Ê <meta name="description" content="Contact at@berninger.at" />

Ê <meta name="theme-color" content="#0b0b0b" />


Ê <!-- (Optional) Preload for snappier first paint -->

Ê <!-- <link rel="preload" as="image" href=ãsailing.jpg">

Ê <link rel="preload" as="image" href=ãocean.jpg">

Ê <link rel="preload" as="image" href=ãface.jpg"> -->


Ê <style>

Ê Ê :root {

Ê Ê Ê /* Put your exact filenames or URLs here */

Ê Ê Ê --img-sailing: url(âsailing.jpg');

Ê Ê Ê --img-ocean: Ê url(âocean.jpg');

Ê Ê Ê --img-portrait:url(âface.jpg'); /* the black & white selfie */


Ê Ê Ê --cycle: 21s; Ê Ê /* full slideshow duration (Å7s per image) */

Ê Ê Ê --text: #fff;

Ê Ê }


Ê Ê * { box-sizing: border-box; }

Ê Ê html, body { height: 100%; }

Ê Ê body {

Ê Ê Ê margin: 0;

Ê Ê Ê font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;

Ê Ê Ê color: var(--text);

Ê Ê Ê background: #0b0b0b;

Ê Ê Ê overflow: hidden;

Ê Ê }


Ê Ê /* Background layers */

Ê Ê .bg {

Ê Ê Ê position: fixed;

Ê Ê Ê inset: 0;

Ê Ê Ê background-size: cover;

Ê Ê Ê background-repeat: no-repeat;

Ê Ê Ê will-change: opacity, transform, background-position;

Ê Ê Ê opacity: 0;

Ê Ê Ê transform: scale(1.035);

Ê Ê }


Ê Ê /* Per-image tuning: overlay + focal point */

Ê Ê .bg.bg1 {

Ê Ê Ê /* Sailing: darker overlay for the bright sail */

Ê Ê Ê background-image:

Ê Ê Ê Ê linear-gradient(rgba(0,0,0,0.44), rgba(0,0,0,0.44)),

Ê Ê Ê Ê var(--img-sailing);

Ê Ê Ê background-position: 70% center; /* keeps person/sail visible */

Ê Ê }

Ê Ê .bg.bg2 {

Ê Ê Ê /* Ocean wave: slightly lighter overlay */

Ê Ê Ê background-image:

Ê Ê Ê Ê linear-gradient(rgba(0,0,0,0.34), rgba(0,0,0,0.34)),

Ê Ê Ê Ê var(--img-ocean);

Ê Ê Ê background-position: 40% 55%;

Ê Ê }

Ê Ê .bg.bg3 {

Ê Ê Ê /* Portrait: stronger overlay so text pops; nudge left to keep face */

Ê Ê Ê background-image:

Ê Ê Ê Ê linear-gradient(rgba(0,0,0,0.50), rgba(0,0,0,0.50)),

Ê Ê Ê Ê var(--img-portrait);

Ê Ê Ê background-position: 25% 35%;

Ê Ê }


Ê Ê /* Crossfade for 3 slides */

Ê Ê @keyframes crossfade3 {

Ê Ê Ê 0%, 27% Ê { opacity: 1; }

Ê Ê Ê 33%, 94%Ê { opacity: 0; }

Ê Ê Ê 100%Ê Ê Ê { opacity: 1; }

Ê Ê }

Ê Ê /* Gentle Ken Burns zoom */

Ê Ê @keyframes zoom {

Ê Ê Ê from { transform: scale(1.035); }

Ê Ê Ê to Ê { transform: scale(1.08); }

Ê Ê }


Ê Ê .animate.bg1 {

Ê Ê Ê animation:

Ê Ê Ê Ê crossfade3 var(--cycle) linear infinite,

Ê Ê Ê Ê zoom calc(var(--cycle) * 2) ease-in-out infinite alternate;

Ê Ê }

Ê Ê .animate.bg2 {

Ê Ê Ê animation:

Ê Ê Ê Ê crossfade3 var(--cycle) linear infinite calc(var(--cycle) / 3),

Ê Ê Ê Ê zoom calc(var(--cycle) * 2) ease-in-out infinite alternate calc(var(--cycle) / 3);

Ê Ê }

Ê Ê .animate.bg3 {

Ê Ê Ê animation:

Ê Ê Ê Ê crossfade3 var(--cycle) linear infinite calc(var(--cycle) * 2 / 3),

Ê Ê Ê Ê zoom calc(var(--cycle) * 2) ease-in-out infinite alternate calc(var(--cycle) * 2 / 3);

Ê Ê }


Ê Ê /* Soft edge vignette to center the eye on the text */

Ê Ê .vignette {

Ê Ê Ê position: fixed;

Ê Ê Ê inset: 0;

Ê Ê Ê pointer-events: none;

Ê Ê Ê background: radial-gradient(ellipse at center,

Ê Ê Ê Ê Ê Ê Ê Ê Ê rgba(0,0,0,0) 40%,

Ê Ê Ê Ê Ê Ê Ê Ê Ê rgba(0,0,0,0.35) 100%);

Ê Ê }


Ê Ê main {

Ê Ê Ê min-height: 100vh;

Ê Ê Ê display: grid;

Ê Ê Ê place-items: center;

Ê Ê Ê text-align: center;

Ê Ê Ê padding: 2rem;

Ê Ê }

Ê Ê a.email {

Ê Ê Ê color: inherit;

Ê Ê Ê text-decoration: none;

Ê Ê Ê font-weight: 800;

Ê Ê Ê font-size: clamp(2rem, 12vw, 9rem);

Ê Ê Ê letter-spacing: -0.02em;

Ê Ê Ê line-height: 1.05;

Ê Ê Ê text-shadow: 0 2px 22px rgba(0,0,0,0.55);

Ê Ê Ê border-bottom: 0.08em solid rgba(255,255,255,0.35);

Ê Ê Ê transition: transform 0.15s ease, border-color 0.2s ease, text-shadow 0.2s ease;

Ê Ê }

Ê Ê a.email:hover,

Ê Ê a.email:focus-visible {

Ê Ê Ê border-color: rgba(255,255,255,0.9);

Ê Ê Ê transform: scale(1.02);

Ê Ê Ê text-shadow: 0 4px 28px rgba(0,0,0,0.65);

Ê Ê Ê outline: none;

Ê Ê }


Ê Ê /* Small/portrait screens: adjust focal points */

Ê Ê @media (max-aspect-ratio: 3/4) {

Ê Ê Ê .bg.bg1 { background-position: 72% 40%; }

Ê Ê Ê .bg.bg2 { background-position: 45% 55%; }

Ê Ê Ê .bg.bg3 { background-position: 50% 30%; }

Ê Ê }


Ê Ê /* Reduce motion accessibility */

Ê Ê @media (prefers-reduced-motion: reduce) {

Ê Ê Ê .animate { animation: none !important; }

Ê Ê Ê .bg { opacity: 0; transform: none; }

Ê Ê Ê .bg.bg1 { opacity: 1; } /* show the first image only */

Ê Ê }

Ê </style>

</head>

<body>

Ê <!-- Backgrounds -->

Ê <div class="bg bg1 animate" aria-hidden="true"></div>

Ê <div class="bg bg2 animate" aria-hidden="true"></div>

Ê <div class="bg bg3 animate" aria-hidden="true"></div>

Ê <div class="vignette" aria-hidden="true"></div>


Ê <main>

Ê Ê <a class="email" href="mailto:at@berninger.at" aria-label="Email at at@berninger.at">

Ê Ê Ê at@berninger.at

Ê Ê </a>

Ê </main>

</body>

</html>