/* --- 0. Self-hosted webfonts (GDPR: no Google request) ------------------ */
@font-face{font-family:'Inter';font-style:normal;font-weight:300 700;font-display:swap;src:url('../fonts/inter-normal-300_700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 700;font-display:swap;src:url('../fonts/inter-normal-300_700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 700;font-display:swap;src:url('../fonts/playfairdisplay-italic-400_700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 700;font-display:swap;src:url('../fonts/playfairdisplay-italic-400_700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url('../fonts/playfairdisplay-normal-400_900-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;src:url('../fonts/playfairdisplay-normal-400_900-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* ==========================================================================
   Frantz Lamothe — Editorial Plate System
   ========================================================================== */

/* --- 1. Tokens --------------------------------------------------------- */
:root{
  --fl-paper:#f9f9f7;
  --fl-ink:#18181b;
  --fl-faint:#a3a3ab;
  --fl-line:rgba(24,24,27,.1);
  --fl-secondary:#f4f4f5;
  --fl-muted-text:#71717a;
  --fl-border:#e4e4e7;
  --fl-font-serif:"Playfair Display",ui-serif,Georgia,"Times New Roman",serif;
  --fl-font-sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --fl-radius:2px;
  --fl-max:1536px;
  --fl-px:24px;
  --fl-header-h:64px;
}

/* --- 2. Reset ---------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background-color:var(--fl-paper);
  color:var(--fl-ink);
  font-family:var(--fl-font-sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;border:0}
a{color:inherit}
h1,h2,h3,h4,h5,h6,p,figure,blockquote,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background-color:var(--fl-ink);color:var(--fl-paper)}
:focus-visible{outline:2px solid var(--fl-ink);outline-offset:3px}

/* --- 3. Layout --------------------------------------------------------- */
.fl-container{width:100%;max-width:var(--fl-max);margin:0 auto;padding-left:var(--fl-px);padding-right:var(--fl-px)}
.fl-section{padding-top:56px;padding-bottom:56px}
.fl-section--tight{padding-top:40px;padding-bottom:40px}
.fl-rule{height:1px;background:var(--fl-line);border:0;margin:0}

/* --- 4. Typografie ----------------------------------------------------- */
.fl-h1{font-family:var(--fl-font-serif);font-weight:500;font-size:clamp(2rem,7vw,3rem);line-height:1.02;letter-spacing:-.01em;text-wrap:balance}
.fl-h2{font-family:var(--fl-font-serif);font-weight:500;font-size:clamp(1.5rem,4.4vw,1.875rem);line-height:1.18;text-wrap:balance}
.fl-h3{font-family:var(--fl-font-serif);font-weight:500;font-size:clamp(1.3rem,3.6vw,1.5rem);line-height:1.22}
.fl-lead{font-family:var(--fl-font-serif);font-weight:400;font-size:clamp(1.25rem,3.4vw,1.75rem);line-height:1.32;text-wrap:balance}
.fl-body{font-size:1rem;line-height:1.72;color:var(--fl-ink);max-width:56ch}
.fl-body + .fl-body{margin-top:1.1em}
.fl-body--muted{color:var(--fl-muted-text)}
.fl-label{font-size:.625rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--fl-faint);display:block}
.fl-meta{font-size:.625rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--fl-faint)}
.fl-caption{font-size:.6875rem;letter-spacing:.06em;color:var(--fl-faint);margin-top:10px;line-height:1.5}
.fl-num{font-variant-numeric:tabular-nums}

/* --- 5. Komponenten ---------------------------------------------------- */
.fl-plate{outline:1px solid var(--fl-line);outline-offset:-1px;background-color:var(--fl-secondary);border-radius:var(--fl-radius);overflow:hidden}
.fl-plate img{width:100%}
.fl-plate--zoom img{transition:transform .7s cubic-bezier(.2,.6,.2,1)}
@media (hover:hover){ .fl-plate--zoom:hover img{transform:scale(1.03)} }

.fl-link{border-bottom:1px solid var(--fl-ink);text-decoration:none;padding-bottom:1px;transition:opacity .2s}
.fl-link:hover{opacity:.6}
.fl-link--quiet{border-bottom-color:var(--fl-line)}
.fl-link--quiet:hover{border-bottom-color:var(--fl-ink);opacity:1}

.fl-ghost{
  display:inline-flex;align-items:center;gap:12px;
  min-height:44px;padding:11px 20px;
  border:1px solid var(--fl-line);border-radius:var(--fl-radius);
  font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  text-decoration:none;transition:border-color .25s,background-color .25s
}
.fl-ghost::after{content:"";width:6px;height:6px;background:var(--fl-ink);flex:0 0 6px}
.fl-ghost:hover{border-color:var(--fl-ink)}

.fl-arrowlink{display:inline-flex;align-items:center;gap:8px;font-size:.625rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;min-height:44px}
.fl-arrowlink span{border-bottom:1px solid var(--fl-line);padding-bottom:2px;transition:border-color .25s}
.fl-arrowlink:hover span{border-bottom-color:var(--fl-ink)}

.fl-sectionhead{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:28px}

/* Skip link */
.fl-skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--fl-ink);color:var(--fl-paper);padding:12px 18px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.fl-skip:focus{left:8px;top:8px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* --- 6. Header --------------------------------------------------------- */
.fl-header{
  position:sticky;top:0;z-index:50;
  background-color:rgba(249,249,247,.85);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--fl-line);
}
.fl-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:var(--fl-header-h)}
.fl-wordmark{font-size:.875rem;font-weight:500;letter-spacing:-.02em;text-decoration:none;white-space:nowrap;flex:0 0 auto}
.fl-nav{min-width:0}
.fl-nav ul{display:flex;align-items:center;gap:22px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;margin:0;-webkit-overflow-scrolling:touch}
.fl-nav ul::-webkit-scrollbar{display:none}
.fl-nav a{
  display:inline-block;padding:20px 0;
  font-size:.625rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;
  color:var(--fl-muted-text);text-decoration:none;white-space:nowrap;transition:color .2s
}
.fl-nav a:hover{color:var(--fl-ink)}
.fl-nav .current-menu-item > a,.fl-nav .fl-nav__current > a,.fl-nav a[aria-current="page"]{color:var(--fl-ink)}

/* --- 7. Footer --------------------------------------------------------- */
.fl-footer{background-color:var(--fl-ink);color:rgba(249,249,247,.6);margin-top:40px}
.fl-footer a{color:rgba(249,249,247,.85);text-decoration:none;border-bottom:1px solid rgba(249,249,247,.25);transition:border-color .2s,color .2s}
.fl-footer a:hover{color:var(--fl-paper);border-bottom-color:var(--fl-paper)}
.fl-footer__grid{display:grid;gap:40px;padding-top:56px;padding-bottom:40px}
.fl-footer__name{font-family:var(--fl-font-serif);font-size:1.25rem;color:var(--fl-paper);margin-bottom:14px}
.fl-footer__bio{font-size:.875rem;line-height:1.7;max-width:44ch}
.fl-footer__label{font-size:.625rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(249,249,247,.45);display:block;margin-bottom:10px}
.fl-footer__block + .fl-footer__block{margin-top:26px}
.fl-footer__nav ul{display:flex;flex-wrap:wrap;gap:18px}
.fl-footer__nav a{font-size:.625rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase}
.fl-footer__bottom{border-top:1px solid rgba(249,249,247,.14);padding:20px 0 28px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.6875rem;letter-spacing:.05em}

/* --- 8. Home ------------------------------------------------------------ */
/* Hero: Text links, Bild rechts. Die Bildbühne ist fest umrissen, jedes Bild
   wird darin eingepasst - nichts wird beschnitten, nichts gestreckt. */
.fl-hero{display:grid;gap:32px;align-items:center}
.fl-hero__text{min-width:0}
.fl-hero__stage{display:grid;min-width:0}
.fl-hero__stage .fl-slide{grid-area:1/1;margin:0}
.fl-hero__stage .fl-plate{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:var(--fl-secondary)}
.fl-slide__img{width:100%;height:100%;display:block;object-fit:contain}
.fl-slider.is-ready .fl-hero__stage .fl-slide{opacity:0;visibility:hidden;transition:opacity .5s ease}
.fl-slider.is-ready .fl-hero__stage .fl-slide.is-current{opacity:1;visibility:visible}

.fl-hero__meta{position:relative;margin-top:26px;min-height:52px}
.fl-hero__cap{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .35s ease}
.fl-hero__cap.is-current{opacity:1;visibility:visible}
.fl-hero__capname{display:block;font-family:var(--fl-font-serif);font-size:1.125rem;line-height:1.3;margin-bottom:6px}
.fl-slider__nav{display:none;align-items:center;gap:14px;margin-top:8px}
.fl-slider.is-ready .fl-slider__nav{display:flex}
.fl-slider__arrow{width:44px;height:44px;flex:0 0 44px;border:1px solid var(--fl-line);border-radius:var(--fl-radius);display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;transition:border-color .2s}
.fl-slider__arrow:hover{border-color:var(--fl-ink)}
.fl-slider__dots{display:flex;gap:8px;flex:1 1 auto}
.fl-slider__dot{width:30px;height:44px;position:relative;flex:0 0 auto}
.fl-slider__dot::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--fl-line);transition:background-color .25s,height .25s}
.fl-slider__dot[aria-selected="true"]::after{background:var(--fl-ink);height:2px}
.fl-slider__dot:hover::after{background:var(--fl-muted-text)}
/* Ohne Skript: alle Bilder untereinander sichtbar, Steuerung ausgeblendet. */
.fl-slider:not(.is-ready) .fl-hero__stage{gap:24px}
.fl-slider:not(.is-ready) .fl-hero__stage .fl-slide{grid-area:auto}
.fl-slider:not(.is-ready) .fl-hero__cap{position:static;opacity:1;visibility:visible}
.fl-slider:not(.is-ready) .fl-hero__meta{min-height:0}

.fl-teaser{display:grid;gap:32px}
.fl-cards{display:grid;gap:24px}
.fl-card{text-decoration:none;display:block}
.fl-card__img{width:100%;height:auto;display:block}
.fl-card__foot{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:12px}

.fl-newslist{border-top:1px solid var(--fl-line)}
.fl-newslist__item{border-bottom:1px solid var(--fl-line)}
.fl-newslist__link{display:grid;gap:10px;padding:26px 0;text-decoration:none;transition:opacity .2s}
.fl-newslist__link:hover{opacity:.65}
.fl-newslist__title{font-size:1.125rem;font-weight:500;line-height:1.35}
.fl-newslist__teaser{font-size:.9375rem;color:var(--fl-muted-text);line-height:1.6;max-width:62ch}



/* --- 9. Artist --------------------------------------------------------- */
.fl-pagehead{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:44px;padding-bottom:28px}
.fl-bio{display:grid;gap:36px}
.fl-bio__media{display:grid;gap:26px}
.fl-shows{display:grid;gap:44px;margin-top:8px}
.fl-shows__list{border-top:1px solid var(--fl-line)}
.fl-shows__row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--fl-line)}
.fl-shows__name{font-size:.9375rem;line-height:1.5}
.fl-shows__year{font-size:.75rem;color:var(--fl-faint);flex:0 0 auto}
.fl-shows__count{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fl-faint);margin-left:8px}
.fl-figpair{display:grid;gap:24px;margin-top:48px}

/* --- 10. Work ---------------------------------------------------------- */
.fl-filters{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;border-bottom:1px solid var(--fl-line);margin-bottom:32px}
.fl-filters::-webkit-scrollbar{display:none}
.fl-filter{
  position:relative;white-space:nowrap;padding:14px 0;min-height:44px;
  font-size:.625rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--fl-faint);transition:color .2s
}
.fl-filter::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--fl-ink);transform:scaleX(0);transition:transform .25s}
.fl-filter:hover{color:var(--fl-ink)}
.fl-filter[aria-selected="true"]{color:var(--fl-ink)}
.fl-filter[aria-selected="true"]::after{transform:scaleX(1)}

.fl-masonry{columns:1;column-gap:64px}
.fl-work{break-inside:avoid;margin-bottom:88px;display:block;text-decoration:none}
.fl-work__foot{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-top:12px}
.fl-work__title{font-size:.9375rem;font-weight:500;line-height:1.4}
.fl-work__series{font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fl-faint);margin-top:5px;display:block}
.fl-work__no{font-size:.6875rem;color:var(--fl-faint);flex:0 0 auto}
.fl-work[hidden]{display:none}
.fl-empty{padding:40px 0;color:var(--fl-muted-text);font-size:.9375rem}

.fl-seriesnote{border-left:2px solid var(--fl-ink);padding:2px 0 2px 20px;margin:0 0 34px;max-width:62ch}
.fl-seriesnote p{font-size:.9375rem;line-height:1.7;color:var(--fl-muted-text)}
.fl-seriesnote[hidden]{display:none}

/* --- 11. News ---------------------------------------------------------- */
.fl-article{padding-top:52px;padding-bottom:52px;border-bottom:1px solid var(--fl-line)}
.fl-article:last-child{border-bottom:0}
.fl-article__grid{display:grid;gap:30px}
.fl-quote{font-family:var(--fl-font-serif);font-style:italic;font-size:1.25rem;line-height:1.62;border-left:2px solid var(--fl-ink);padding-left:24px;margin:26px 0}
.fl-quote cite{display:block;font-family:var(--fl-font-sans);font-style:normal;font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fl-faint);margin-top:14px;line-height:1.6}
.fl-facts{border-top:1px solid var(--fl-line);margin-top:26px}
.fl-facts__row{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid var(--fl-line)}
.fl-facts__k{font-size:.625rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--fl-faint)}
.fl-facts__v{font-size:.9375rem;line-height:1.6}
.fl-note{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fl-faint);margin-top:22px;display:block}
.fl-gallery{display:grid;gap:18px;grid-auto-flow:dense;align-content:start}
.fl-gallery .is-wide{grid-column:span 2}
.fl-gallery .fl-plate img{width:100%;height:auto;display:block}

.fl-cards--shop{gap:40px}
.fl-cards--shop .fl-card:nth-child(2){margin-top:0}
.fl-cards--shop .fl-card__foot{align-items:flex-start}
@media (min-width:768px){ .fl-cards--shop{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1024px){ .fl-cards--shop{grid-template-columns:repeat(4,1fr);gap:28px} }

/* --- 12. Contact / Imprint --------------------------------------------- */
.fl-contact__mail{font-family:var(--fl-font-serif);font-size:clamp(1.6rem,6vw,3rem);line-height:1.15;text-decoration:none;border-bottom:1px solid var(--fl-line);display:inline-block;word-break:break-word;transition:border-color .25s}
.fl-contact__mail:hover{border-bottom-color:var(--fl-ink)}
.fl-contact__grid{display:grid;gap:44px}
.fl-legal{max-width:74ch}
.fl-legal h2{font-family:var(--fl-font-serif);font-weight:500;font-size:1.25rem;margin:38px 0 12px;line-height:1.3}
.fl-legal h2:first-child{margin-top:0}
.fl-legal p{font-size:.9375rem;line-height:1.75;color:var(--fl-muted-text);margin-bottom:12px}
.fl-legal ul{list-style:disc;padding-left:20px;margin-bottom:12px}
.fl-legal li{font-size:.9375rem;line-height:1.75;color:var(--fl-muted-text);margin-bottom:6px}

/* --- 13. Editor / Fallback --------------------------------------------- */
.fl-prose{max-width:70ch}
.fl-prose p{margin-bottom:1.1em;line-height:1.72}
.fl-prose h2{font-family:var(--fl-font-serif);font-weight:500;font-size:1.5rem;margin:34px 0 12px}
.fl-prose h3{font-family:var(--fl-font-serif);font-weight:500;font-size:1.25rem;margin:28px 0 10px}
.fl-prose ul{list-style:disc;padding-left:20px;margin-bottom:1.1em}
.fl-prose a{border-bottom:1px solid var(--fl-ink);text-decoration:none}
.fl-prose img{margin:20px 0}

/* --- 14. Breakpoints --------------------------------------------------- */
@media (min-width:640px){
  .fl-gallery{grid-template-columns:repeat(2,1fr)}
  .fl-figpair{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:768px){
  :root{--fl-px:32px}
  .fl-hero{grid-template-columns:5fr 7fr;gap:56px}
  .fl-hero__stage .fl-plate{aspect-ratio:4/3;max-height:66vh}
  .fl-section{padding-top:80px;padding-bottom:80px}
  .fl-cards{grid-template-columns:repeat(3,1fr)}
  .fl-cards .fl-card:nth-child(2){margin-top:96px}
  .fl-teaser{grid-template-columns:7fr 5fr;gap:48px;align-items:start}
  .fl-bio{grid-template-columns:7fr 5fr;gap:56px;align-items:start}
  .fl-newslist__link{grid-template-columns:2fr 3fr;gap:32px;align-items:baseline}
  .fl-facts__row{grid-template-columns:1fr 3fr;gap:24px;align-items:baseline}
  .fl-article__grid{grid-template-columns:7fr 5fr;gap:48px;align-items:start}
  .fl-contact__grid{grid-template-columns:7fr 5fr;gap:56px}
  .fl-footer__grid{grid-template-columns:5fr 4fr;gap:56px;padding-top:72px}
}
@media (min-width:1024px){
  .fl-section{padding-top:96px;padding-bottom:96px}
  .fl-shows{grid-template-columns:repeat(2,1fr);gap:56px}

  .fl-hero__box{
    position:absolute;right:32px;bottom:32px;max-width:400px;margin-top:0;
    background:rgba(249,249,247,.94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)
  }
}


/* Werke leicht gegeneinander versetzt, damit das Archiv wie eine Collage liest */
@media (min-width:1024px){
  .fl-masonry{columns:2;column-gap:96px;max-width:1180px;margin:0 auto}
  .fl-work{margin-bottom:130px}
  .fl-work:nth-child(3n+1){margin-left:0;margin-right:16%}
  .fl-work:nth-child(3n+2){margin-left:14%;margin-right:0}
  .fl-work:nth-child(3n+3){margin-left:7%;margin-right:7%}
}
@media (min-width:1400px){
  .fl-masonry{column-gap:120px;max-width:1320px}
}

/* --- 15. Motion / Print ------------------------------------------------ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .fl-plate--zoom:hover img{transform:none}
}
@media print{
  .fl-header,.fl-footer,.fl-filters,.fl-skip{display:none}
  body{background:#fff}
  .fl-plate{outline:none}
}
