/* GENERATED by prepare.mjs — verbatim copy of css/style.css with the Adobe Fonts import prepended. Do not edit. */
@import url("https://use.typekit.net/jvm1xkk.css");

/* ============================================================
   EVERYDAYSWISS — Patrick R. Gschwind
   Palette aus Logo: Navy #0f1525, Blau #2aaffe, Violett #a648de
   Typografie: Neue Haas Grotesk (Adobe Fonts, Kit jvm1xkk) — Display fuer Headlines, Text fuer Fliesstext
   ============================================================ */

:root{
  --ink:#0f1525;
  --ink-deep:#0b101d;
  --surface:#151b2c;
  --line:#232a3d;
  --paper:#eef0f4;
  --fog:#9a9999;
  --blue:#2aaffe;
  --violet:#a648de;

  /* Neue Haas Grotesk via Adobe Fonts (Kit jvm1xkk): Text fuer Fliesstext, Display fuer Headlines. Kit liefert 400/700. */
  --font:"neue-haas-grotesk-text","Helvetica Neue",system-ui,-apple-system,sans-serif;
  --font-display:"neue-haas-grotesk-display","Helvetica Neue",system-ui,-apple-system,sans-serif;

  --pad:clamp(1.25rem, 4vw, 4rem);
  --ease:cubic-bezier(.22,1,.36,1); /* @kind other */
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--ink);
  color:var(--paper);
  font-family:var(--font);
  font-size:1rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

.label{
  font-size:.68rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:var(--fog);
}

/* ---------- grain ---------- */
.grain{
  position:fixed;inset:-50%;z-index:1000;pointer-events:none;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 8s steps(10) infinite;
}
@keyframes grain{
  0%,100%{transform:translate(0,0)} 20%{transform:translate(-4%,3%)}
  40%{transform:translate(3%,-4%)} 60%{transform:translate(-2%,-3%)} 80%{transform:translate(4%,2%)}
}

/* ---------- cursor ---------- */
.cursor{display:none}
@media (pointer:fine){
  .cursor{
    display:block;position:fixed;top:0;left:0;width:9px;height:9px;
    border-radius:50%;background:var(--violet);z-index:1001;pointer-events:none;
    transform:translate(-50%,-50%);
    transition:width .25s var(--ease),height .25s var(--ease),opacity .25s,background .25s;
    opacity:0;
  }
  body.cursor-on .cursor{opacity:.85}
  .cursor.is-hover{width:38px;height:38px;background:rgba(166,72,222,.28)}
}

/* ---------- nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;justify-content:space-between;align-items:center;
  padding:.9rem var(--pad);
}
/* Lesbarkeit ueber hellen Bildern: Verlauf Schwarz->Alpha + progressiver Blur */
.nav::before{
  content:"";position:absolute;left:0;right:0;top:0;height:calc(100% + 3rem);
  z-index:-1;pointer-events:none;
  background:linear-gradient(180deg, rgba(7,10,19,.96) 0%, rgba(7,10,19,.82) 45%, rgba(7,10,19,0) 100%);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  -webkit-mask-image:linear-gradient(180deg,#000 50%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 50%,transparent 100%);
}
.nav__logo{display:flex;align-items:center;gap:.7rem;font-weight:500;letter-spacing:.14em;font-size:.78rem}
.nav__word{text-transform:lowercase}
.nav__logo img{width:2rem;height:auto}
.nav__links{display:flex;align-items:center;gap:clamp(1rem,3vw,2.4rem)}
.nav__links a{
  font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(238,240,244,.78);position:relative;padding:.2rem 0;
  transition:color .25s;
}
.nav__links a:hover{color:var(--paper)}
.nav__links a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:linear-gradient(90deg,var(--blue),var(--violet));
  transform:scaleX(0);transform-origin:right;
  transition:transform .35s var(--ease);
}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav__lang{
  background:none;border:1px solid var(--line);color:var(--fog);cursor:pointer;
  font-family:var(--font);font-size:.66rem;font-weight:500;letter-spacing:.12em;
  padding:.35rem .6rem;display:flex;gap:.35rem;
  transition:border-color .25s;
}
.nav__lang:hover{border-color:var(--fog)}
.nav__lang span{opacity:.4;transition:opacity .2s}
.nav__lang span.is-active{opacity:1;color:var(--paper)}
.nav__lang-sep{opacity:.4}

/* ---------- hero (Cinescope 2.39:1, randlos — die Seite beginnt wie ein Film) ---------- */
.hero{position:relative}
.hero__media{position:relative;width:100%;aspect-ratio:2.39/1;overflow:hidden;background:var(--surface)}
.hero__media picture{position:absolute;inset:0;display:block}
.hero__media img{
  position:absolute;top:-15%;left:0;width:100%;height:130%;
  object-fit:cover;object-position:center 35%;
  opacity:0;transition:opacity 1.4s ease .15s;
  will-change:transform;
}
body.is-loaded .hero__media img{opacity:1}
.hero__media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(15,21,37,.2) 0%, rgba(15,21,37,0) 32%, rgba(15,21,37,.46) 100%);
}
.hero__meta{
  position:absolute;left:var(--pad);right:var(--pad);bottom:1.3rem;z-index:2;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  opacity:0;transition:opacity 1s ease .9s;
}
.hero__meta .label{color:rgba(238,240,244,.72)}
body.is-loaded .hero__meta{opacity:1}

/* ---------- intro (Split-Panel wie Mockup: Name links, Coming rechts) ---------- */
.intro{
  display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start;
  padding:clamp(3.5rem,9vh,6.5rem) var(--pad);
}
.hero__eyebrow{
  display:block;margin-bottom:1rem;text-transform:lowercase;letter-spacing:.24em;
  background:linear-gradient(90deg,var(--blue),var(--violet));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  opacity:0;transform:translateY(18px);transition:all .9s var(--ease) .3s;
}
.hero__name{
  font-family:var(--font-display);font-weight:500;font-size:clamp(1.9rem,3vw,2.75rem);line-height:1.08;letter-spacing:-.02em;
  opacity:0;transform:translateY(24px);transition:all 1s var(--ease) .45s;
}
.hero__role{
  margin-top:.5rem;font-size:clamp(1rem,1.4vw,1.2rem);color:var(--fog);font-weight:400;
  opacity:0;transform:translateY(18px);transition:all .9s var(--ease) .6s;
}
.hero__claim{
  margin-top:1.4rem;text-transform:none;letter-spacing:.02em;font-size:.95rem;color:var(--fog);
  opacity:0;transform:translateY(18px);transition:all .9s var(--ease) .75s;
}
body.is-loaded .hero__eyebrow,
body.is-loaded .hero__name,
body.is-loaded .hero__role,
body.is-loaded .hero__claim{opacity:1;transform:none}
.intro__coming{border-left:1px solid var(--line);padding-left:clamp(1.5rem,3.5vw,3.5rem)}
.intro__coming>.label{display:block;letter-spacing:.34em}
.intro__date{
  margin-top:1rem;display:inline-block;
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(1.15rem,2.2vw,1.8rem);letter-spacing:.3em;text-transform:uppercase;
  padding-bottom:1.1rem;border-bottom:1px solid var(--line);
}
.intro__note{margin-top:1.2rem;color:var(--fog);font-size:.95rem;line-height:1.85}

/* ---------- sections ---------- */
.section-head{padding:clamp(5rem,12vh,10rem) var(--pad) clamp(2.2rem,5vh,4rem)}
.section-head .label{display:block;margin-bottom:1.1rem}
.section-head__title{
  font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,4.2vw,3.4rem);letter-spacing:-.02em;line-height:1.08;
  max-width:24ch;
}

/* ---------- work: Kachel-Grid nach Mockup (2-up + volle Breite im Wechsel) ---------- */
.work__grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(.9rem,1.4vw,1.3rem);
  padding:0 var(--pad);
}
.tile{position:relative;display:block;overflow:hidden;background:var(--surface)}
.tile:nth-child(3n){grid-column:1/-1}
.tile__media{position:relative;aspect-ratio:16/9;overflow:hidden}
.tile:nth-child(3n) .tile__media{aspect-ratio:2.39/1}
.tile__media img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(.95) brightness(.92);
  transition:transform 1.2s var(--ease),filter .6s ease;
  will-change:transform;
}
.tile:hover .tile__media img{transform:scale(1.03);filter:saturate(1.02) brightness(1)}
.tile__media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, transparent 55%, rgba(7,10,19,.74) 100%);
}
.tile__caption{position:absolute;left:clamp(1rem,2vw,1.8rem);bottom:clamp(.9rem,1.8vw,1.5rem);z-index:2}
.tile__title{
  font-family:var(--font-display);font-weight:500;color:#fff;
  text-transform:uppercase;letter-spacing:.16em;
  font-size:clamp(.78rem,1vw,.95rem);line-height:1.4;
}
.tile__cat{
  display:block;margin-top:.4rem;
  font-size:.62rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(238,240,244,.62);
}
/* Work-Sektionskopf wie Mockup: nur die gesperrte Label-Zeile */
.work .section-head{padding-bottom:clamp(1.2rem,2.5vh,2rem)}

/* Screenreader-only (H2 bleibt fuer SEO/Struktur erhalten) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- statement ---------- */
/* Feines Linienraster — Motiv von der Visitenkarte */
.statement{
  position:relative;
  padding:clamp(7rem,20vh,13rem) var(--pad);border-bottom:1px solid var(--line);
}
.statement::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    repeating-linear-gradient(120deg, rgba(238,240,244,.035) 0 1px, transparent 1px 110px),
    repeating-linear-gradient(60deg, rgba(238,240,244,.025) 0 1px, transparent 1px 140px);
}
.statement__text{position:relative}
.statement__text{
  font-family:var(--font-display);font-weight:500;font-size:clamp(2rem,5vw,4.2rem);line-height:1.12;letter-spacing:-.025em;
  max-width:20ch;
}
.statement__text em{
  font-style:normal;
  background:linear-gradient(90deg,var(--blue),var(--violet));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* ---------- about ---------- */
.about__intro{
  display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:center;
  padding:0 var(--pad) clamp(3rem,6vw,5rem);
}
.about__lead p{color:var(--fog);max-width:52ch;font-size:.95rem}
.about__lead p+p{margin-top:1rem}
.about__portrait{position:relative;justify-self:end;max-width:26rem}
/* Portrait: Navy-Vignette ist direkt ins JPG gerechnet (siehe README) — kein CSS-Trick noetig */
.about__portrait img{width:100%}

.about__facts{
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,3rem);
  padding:clamp(2rem,4vw,3.5rem) var(--pad) clamp(4rem,8vw,7rem);
  border-top:1px solid var(--line);margin:0 var(--pad);padding-left:0;padding-right:0;
}
.about__facts-wrap{padding:0 var(--pad)}
.about__facts .fact{border-left:1px solid var(--line);padding-left:clamp(1.2rem,2.5vw,2rem)}
.about__facts .fact:first-child{border-left:0;padding-left:0}
.fact .label{display:block;margin-bottom:.7rem}
.fact ul{list-style:none}
.fact li,.fact p{font-size:.88rem;color:var(--paper);line-height:1.9}

/* ---------- contact (Statement + Zellenraster mit Hairlines, vgl. Referenz) ---------- */
.contact{
  border-top:1px solid var(--line);
  display:flex;flex-direction:column;gap:clamp(2.5rem,6vh,4rem);
  padding:clamp(5rem,12vh,9rem) var(--pad);
}
.contact__label{display:block;margin-bottom:1.3rem}
.contact__statement{
  display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(2rem,4vw,4rem);align-items:end;
  border-bottom:1px solid var(--line);padding-bottom:clamp(2rem,5vh,3.5rem);
}
.contact__title{
  font-family:var(--font-display);font-weight:500;
  font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.05;letter-spacing:-.025em;
}
.contact__side{border-left:1px solid var(--line);padding-left:clamp(1.5rem,3vw,3rem)}
.contact__note{color:var(--fog);font-size:.95rem;line-height:1.85;max-width:34ch}
.contact__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.contact__cell{border-left:1px solid var(--line);padding:0 clamp(1.2rem,2.5vw,2rem)}
.contact__cell:first-child{border-left:0;padding-left:0}
.contact__cell .label{display:block;margin-bottom:.8rem}
.contact__cell p{font-size:.95rem;line-height:1.7}
.contact__mail{
  display:inline-block;font-size:.98rem;font-weight:500;letter-spacing:-.01em;
  padding-bottom:.25rem;
  background-image:linear-gradient(90deg,var(--blue),var(--violet));
  background-repeat:no-repeat;background-position:0 100%;background-size:100% 1px;
  transition:color .3s ease;
}
.contact__mail:hover{color:var(--blue)}
.contact__links{display:flex;flex-direction:column;gap:.45rem}
.contact__links a{font-size:.95rem;transition:color .25s;color:var(--paper)}
.contact__links a:hover{color:var(--blue)}

/* ---------- footer (Mockup: Marke links, Links/Copyright rechts) ---------- */
.footer{
  display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;
  padding:1.7rem var(--pad);border-top:1px solid var(--line);
}
.footer__brand{letter-spacing:.42em}
.footer__right{display:flex;align-items:center;gap:clamp(1.2rem,3vw,2.4rem);flex-wrap:wrap}
.footer__social{display:flex;gap:1.4rem}
.footer__social a{transition:color .25s}
.footer__social a:hover{color:var(--paper)}

/* ---------- project page ---------- */
.project{padding-top:5.5rem}
.project__head{padding:clamp(2rem,5vw,4rem) var(--pad)}
.project__head .label{display:block;margin-bottom:.9rem}
.project__title{font-family:var(--font-display);font-weight:500;font-size:clamp(1.9rem,4.5vw,3.4rem);letter-spacing:-.02em;line-height:1.1}
.project__hero{padding:0 var(--pad)}
.project__hero img{width:100%}
.project__body{
  display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(2rem,5vw,5rem);
  padding:clamp(2.5rem,6vw,5rem) var(--pad);
}
.project__meta .label{display:block;margin-bottom:.7rem}
.project__meta p{font-size:.88rem;line-height:1.9;margin-bottom:1.4rem}
.project__text p{color:var(--fog);max-width:58ch}
.project__text p+p{margin-top:1rem}
.project__nav{
  display:flex;justify-content:space-between;gap:1rem;
  padding:clamp(2rem,4vw,3rem) var(--pad);border-top:1px solid var(--line);
}
.project__nav a{transition:color .25s}
.project__nav a:hover{color:var(--paper)}

/* Sprachumschaltung statischer Texte (Projektseiten) */
body[data-lang="en"] .lang-de{display:none}
body[data-lang="de"] .lang-en{display:none}


/* ---------- Parallax-Medien & Seitenverhaeltnisse ---------- */
.plx-media{position:relative;overflow:hidden;background:var(--surface)}
.plx-media img{position:absolute;top:-7%;left:0;width:100%;height:114%;object-fit:cover;will-change:transform}
.r-239{aspect-ratio:2.39/1}
.r-169{aspect-ratio:16/9}
.r-1610{aspect-ratio:16/10}
.r-45{aspect-ratio:4/5}

/* Platzhalter-Kachel (Inhalte folgen) */
.ph{display:grid;place-items:center;background:var(--surface);border:1px dashed var(--line);min-height:9rem}

/* Video-Player (Cinescope-Letterbox) */
.video-frame{position:relative;aspect-ratio:2.39/1;background:var(--ink-deep)}
.video-frame video{position:absolute;inset:0;width:100%;height:100%}

/* ---------- Projektseiten: gemeinsame Bausteine (Layouts A-E) ---------- */
.pj-section{padding:clamp(1.1rem,2.6vw,2.2rem) var(--pad)}
.pj-head .label{display:block;margin-bottom:.9rem}
.pj-desc p{color:var(--fog);max-width:58ch}
.pj-desc p+p{margin-top:1rem}
.pj-meta{display:flex;gap:2.5rem;flex-wrap:wrap}
.pj-meta .label{display:block;margin-bottom:.4rem}
.pj-meta p{font-size:.9rem}
.pj-stack>*+*{margin-top:clamp(1rem,2vw,1.6rem)}
.pj-grid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2vw,1.6rem)}
.pj-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.6rem)}
/* B: Split mit Sticky-Infospalte */
.pj-split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,4vw,4rem);align-items:start;padding:clamp(1.1rem,2.6vw,2.2rem) var(--pad)}
.pj-split__info{position:sticky;top:6.5rem}
/* C: Cinema, zentriert */
.pj-center{max-width:72ch;margin-left:auto;margin-right:auto;text-align:center}
.pj-center .pj-desc p{margin-left:auto;margin-right:auto}
/* D: Magazin, alternierende Reihen */
.pj-row{display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.6rem,3.5vw,3.5rem);align-items:center}
.pj-row--flip{grid-template-columns:5fr 7fr}
.pj-row--flip .pj-row__media{order:2}
/* E: grosse Galerie */
.pj-hugetitle{font-size:clamp(2.4rem,7vw,5.6rem);line-height:1.02}
@media (max-width:860px){
  .pj-split{grid-template-columns:1fr}
  .pj-split__info{position:static}
  .pj-grid2,.pj-grid3{grid-template-columns:1fr}
  .pj-row,.pj-row--flip{grid-template-columns:1fr}
  .pj-row--flip .pj-row__media{order:0}
}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.is-in{opacity:1;transform:none}

/* ---------- focus ---------- */
a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

/* ---------- skip link ---------- */
.skip-link{
  position:absolute;top:-100%;left:var(--pad);z-index:1002;
  background:var(--surface);color:var(--paper);border:1px solid var(--line);
  padding:.7rem 1.1rem;font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  transition:top .25s var(--ease);
}
.skip-link:focus{top:1rem}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .about__intro{grid-template-columns:1fr}
  .about__portrait{justify-self:start;max-width:22rem;order:-1}
  .about__facts{grid-template-columns:repeat(2,1fr)}
  .project__body{grid-template-columns:1fr}
  .hero__meta .label:first-child{display:none}
  .hero__media{aspect-ratio:3/4}
  .hero__media img{object-position:center 30%}
  .intro{grid-template-columns:1fr;gap:2.5rem}
  .intro__coming{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:2rem}
  .work__grid{grid-template-columns:1fr}
  .tile__media,.tile:nth-child(3n) .tile__media{aspect-ratio:16/10}
  .contact__statement{grid-template-columns:1fr;align-items:start}
  .contact__side{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:1.6rem}
  .contact__grid{grid-template-columns:1fr 1fr;gap:1.6rem 1.5rem}
  .contact__cell{border-left:0;border-top:1px solid var(--line);padding:1rem 0 0}
  .contact__cell:first-child{border-top:1px solid var(--line);padding-top:1rem}
  .footer{flex-direction:column;align-items:flex-start}
  .nav__word{display:none}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal,.hero__media img,.hero__name,.hero__eyebrow,.hero__role,.hero__claim,.hero__meta{opacity:1!important;transform:none!important}
  html{scroll-behavior:auto}
}
