/*
Theme Name: martinoj
Author: Colin Gosse
Description: Portfolio minimal pour Jérémie Martino.
Version: 0.12.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: martinoj
*/
@font-face{font-family:'Open Sans';src:url('assets/fonts/open-sans.ttf') format('truetype');font-weight:300 800;font-style:normal;font-display:swap}
:root{--ink:#161616;--muted:#686868;--line:#e5e5e5;--gutter:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:13px;line-height:1.45}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit}.site-header,.site-footer{display:flex;justify-content:space-between;gap:30px;padding:12px var(--gutter)}.site-header{align-items:flex-start}.site-title{font-size:15px;font-weight:600;letter-spacing:.01em}.site-nav ul{display:flex;justify-content:flex-end;gap:23px;list-style:none;margin:0;padding:0}.site-nav a,.section-head,.view-all,.site-footer{text-transform:uppercase}.site-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:3px}.menu-toggle{display:none;border:0;background:none;padding:0;text-transform:uppercase;cursor:pointer}.home-intro{min-height:485px;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,249px);gap:30px;padding:28px var(--gutter) 0;align-items:start}.home-intro__text{max-width:640px;margin:0;text-transform:uppercase}.home-focus{display:block;width:100%;aspect-ratio:249/297;overflow:hidden;background:#f5f5f5}.home-focus img{width:100%;height:100%;object-fit:cover}.selected,.archive-main,.entry-main,.simple-page{padding:0 var(--gutter)}.section-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding:0 0 10px;margin-bottom:10px;color:var(--muted);font-weight:400}.section-head h1,.section-head h2{font:inherit;margin:0}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 10px}.work-card__image{display:block;aspect-ratio:1/1.08;overflow:hidden;background:#f5f5f5}.work-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.work-card__image:hover img{transform:scale(1.025)}.work-card__meta{display:flex;gap:8px;text-transform:uppercase;margin-top:8px}.work-card__year{color:var(--muted)}.view-all{display:block;width:max-content;margin:65px 0 85px auto;border-bottom:1px solid currentColor;padding-bottom:2px}.site-footer{padding-top:12px;padding-bottom:28px;min-height:105px}.site-footer__column{display:flex;flex-direction:column;gap:5px}.site-footer__column:last-child{text-align:right}.site-footer p{margin:0}.archive-main,.simple-page,.entry-main{padding-top:65px}.archive-main .section-head{margin-bottom:10px}.archive-description{max-width:680px;margin:0 0 40px}.work-filters{display:flex;gap:20px;flex-wrap:wrap;margin:0 0 24px;list-style:none;padding:0;text-transform:uppercase}.work-filters .current{border-bottom:1px solid}.pagination{display:flex;gap:20px;margin:55px 0}.entry-header{display:flex;justify-content:space-between;gap:20px;align-items:baseline;text-transform:uppercase;border-bottom:1px solid var(--line);margin-bottom:20px}.entry-header h1{font-size:13px;font-weight:400;margin:0 0 10px}.entry-media img{width:100%;height:auto}.entry-content{max-width:760px;margin:40px auto 80px;font-size:15px;line-height:1.7}.entry-content p:first-child{margin-top:0}.entry-taxonomies{margin:25px 0 80px;text-transform:uppercase}.simple-page{min-height:65vh}.simple-page h1{font-size:13px;font-weight:400;text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:10px}.simple-page .entry-content{margin-left:0}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden;position:absolute}.screen-reader-text:focus{clip:auto;height:auto;width:auto;z-index:1000;background:#fff;padding:8px}input:not([type=submit]),textarea{border:1px solid var(--line);padding:10px;max-width:100%}input[type=submit],button[type=submit]{border:1px solid var(--ink);background:var(--ink);color:#fff;padding:10px 20px;cursor:pointer}
@media(max-width:1024px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-intro{min-height:390px;grid-template-columns:minmax(0,1fr) minmax(150px,35%)}}
@media(max-width:1024px){:root{--gutter:16px}.site-header{align-items:flex-start}.menu-toggle{display:block}.site-nav ul{display:none;position:absolute;z-index:5;right:var(--gutter);top:44px;min-width:155px;background:#fff;border:1px solid var(--line);padding:14px;flex-direction:column;gap:12px}.site-nav.is-open ul{display:flex}.home-intro{min-height:0;display:flex;flex-direction:column;gap:32px;padding-top:40px;padding-bottom:90px}.home-focus{width:min(65%,260px);align-self:flex-end}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 8px}.work-card__meta{flex-wrap:wrap;gap:3px 6px;font-size:11px}.view-all{margin:50px 0 65px auto}.archive-main,.simple-page,.entry-main{padding-top:45px}.entry-content{font-size:14px}.site-footer{font-size:11px;gap:10px}}
@media(max-width:390px){.works-grid{grid-template-columns:1fr}.home-focus{width:75%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work-card__image img{transition:none}}


/* Fixed navigation and Framer-style card inset on hover. */
.site-header{position:sticky;top:0;z-index:100;background:#fff;min-height:44px}
body.admin-bar .site-header{top:32px}
.work-card__frame{overflow:hidden;background:#f5f5f5}
.work-card__image{width:100%;aspect-ratio:904/1200;transform:scale(1);transition:transform .5s cubic-bezier(.22,1,.36,1)}
.work-card__frame:hover .work-card__image,.work-card__frame:focus-within .work-card__image{transform:scale(.9)}
.work-card__image img{transition:none;transform:none!important}
.work-card__image:hover img{transform:none!important}

/* The middle column owns the scrolling gallery; all three text areas stick. */
.work-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,2fr);column-gap:20px;align-items:start;min-height:330px}
.work-detail__title{grid-column:1;position:sticky;top:80px;margin:0;font-size:24px;line-height:1.2;font-weight:400;text-transform:uppercase}
.work-detail__middle{grid-column:2;min-width:0;position:relative}
.entry-details{position:sticky;top:80px;z-index:3;display:flex;flex-direction:column;gap:5px;margin:0;color:var(--muted);text-transform:uppercase;transition:color .18s,text-shadow .18s}
.entry-details.is-over-image{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8),0 0 12px rgba(0,0,0,.45)}
.entry-details div,.entry-details dd{margin:0}
.entry-statement{grid-column:3;position:sticky;top:80px;font-size:14px;line-height:1.8}
.entry-statement > :first-child,.entry-gallery > :first-child{margin-top:0}
.entry-gallery{margin-top:70px;min-width:0}
.entry-gallery__image{margin:0 0 20px}
.entry-gallery__image img,.entry-gallery .wp-block-image img,.entry-gallery .wp-block-gallery img{display:block;width:100%;height:auto;object-fit:contain}
.entry-gallery > .wp-block-image,.entry-gallery > .wp-block-gallery{margin-bottom:20px}
.entry-gallery .wp-block-gallery.has-nested-images{display:flex;flex-direction:column;gap:20px}
.entry-gallery .wp-block-gallery.has-nested-images figure.wp-block-image{width:100%!important;max-width:none!important;margin:0}
.entry-taxonomies{margin:20px 0 65px;text-transform:uppercase}
body.admin-bar .work-detail__title,body.admin-bar .entry-details,body.admin-bar .entry-statement{top:112px}
@media(max-width:1024px){.work-detail{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}.work-detail__title{grid-column:1}.work-detail__middle{grid-column:2}.entry-statement{grid-column:1 / -1;position:static;margin:45px 0 0;max-width:760px}.entry-gallery{margin-top:55px}}
@media(max-width:782px){body.admin-bar .site-header{top:46px}body.admin-bar .work-detail__title,body.admin-bar .entry-details{top:126px}}
@media(max-width:1024px){.work-detail{display:flex;flex-direction:column;min-height:0}.work-detail__title{position:static;font-size:22px}.work-detail__middle{display:contents}.entry-details{position:static;margin-top:15px}.entry-statement{order:2;margin-top:35px}.entry-gallery{order:3;width:100%;margin-top:40px}.entry-taxonomies{order:4;margin:10px 0 35px}.entry-details.is-over-image{color:var(--muted);text-shadow:none}}
@media(prefers-reduced-motion:reduce){.work-card__image{transition:none}.entry-details{transition:none}}

/* Keep each thumbnail at its own aspect ratio and let its caption follow it. */
a:hover,a:focus-visible,.site-nav a[aria-current="page"]{text-decoration:none}
.home-focus,.work-card__frame,.work-card__image{background:transparent}
.work-card__image{aspect-ratio:auto}
.work-card__image img{width:100%;height:auto;object-fit:contain}
.view-all{display:flex;align-items:center;gap:18px;border:0;padding:0;text-decoration:none}
.view-all::after{content:'→';color:#777;font-size:32px;line-height:.7;font-weight:600;transition:transform .25s ease}
.view-all:hover::after,.view-all:focus-visible::after{transform:translateX(5px)}
.work-pagination{display:flex;justify-content:space-between;gap:20px;margin:75px 0 85px;text-transform:uppercase}
.work-pagination__next{display:inline-flex;align-items:baseline;justify-content:flex-end;max-width:65%;white-space:nowrap}
.work-pagination__next-title,.work-pagination__slash{max-width:0;opacity:0;overflow:hidden;transition:max-width .35s ease,opacity .25s ease}
.work-pagination__next-title{text-overflow:ellipsis}
.work-pagination__next:hover .work-pagination__next-title,.work-pagination__next:focus-visible .work-pagination__next-title{max-width:300px;opacity:1}
.work-pagination__next:hover .work-pagination__slash,.work-pagination__next:focus-visible .work-pagination__slash{max-width:25px;opacity:1}
@media(max-width:1024px){.work-pagination{margin:45px 0 65px}.work-pagination__next{max-width:60%}.work-pagination__next:hover .work-pagination__next-title,.work-pagination__next:focus-visible .work-pagination__next-title{max-width:150px}}
@media(prefers-reduced-motion:reduce){.view-all::after,.work-pagination__next-title,.work-pagination__slash{transition:none}}

/* Shared page headings and editorial BIO layout. */
.archive-main{padding-top:125px}
.page-heading{display:grid;grid-template-columns:1fr 2fr;gap:20px;min-height:260px;align-items:start}
.page-heading h1,.bio-hero h1{margin:0;font-size:24px;font-weight:400;line-height:1.2;text-transform:uppercase}
.page-heading p{margin:4px 0 0;color:var(--muted);font-size:18px;line-height:1.4}
.simple-page:has(.bio-page){padding-top:90px}
.bio-hero{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;min-height:420px;align-items:center}
.bio-hero h1{grid-column:1;grid-row:1;align-self:end;border:0;padding:0}
.bio-hero__image{grid-column:2;grid-row:1 / 3;width:min(100%,250px);justify-self:start}
.bio-hero__image img{width:100%;height:auto}
.bio-hero__contact{grid-column:1;grid-row:2;align-self:start;justify-self:start;text-transform:uppercase;color:var(--muted)}
.bio-content{max-width:none!important;margin:0!important;font-size:13px!important;line-height:1.5!important}
.bio-content > :not(.cv-row){max-width:66%;margin-left:33.333%;text-transform:uppercase}
.bio-content > .cv-row:first-of-type{margin-top:180px}
.bio-content .cv-row{display:grid!important;grid-template-columns:1fr 2fr;gap:20px;align-items:start;margin:0 0 110px}
.bio-content .cv-row > h2{font:inherit;font-size:16px;font-weight:400;text-transform:uppercase;margin:0}
.bio-content .cv-content{min-width:0}
.bio-content .cv-content p{margin:0 0 7px;text-transform:uppercase}
.bio-content .cv-content p:nth-child(even){margin-bottom:22px}
.bio-content .cv-content strong{color:rgba(51,51,51,.7);font-weight:400;text-transform:none;margin-left:8px}
/* Override inherited Gutenberg flex constraints without changing authored blocks. */
.bio-content .cv-row > *{width:auto!important;flex-basis:auto!important}

/* The title slides into the available space beside Next. */
.work-pagination__next-reveal{display:inline-grid;grid-template-columns:0fr;opacity:0;transition:grid-template-columns .45s cubic-bezier(.22,1,.36,1),opacity .3s ease}
.work-pagination__next-reveal > *{overflow:hidden;white-space:nowrap}
.work-pagination__next-title,.work-pagination__slash{max-width:none;opacity:1;transition:none}
.work-pagination__next:hover .work-pagination__next-reveal,.work-pagination__next:focus-visible .work-pagination__next-reveal{grid-template-columns:1fr;opacity:1}
.work-pagination__next{max-width:min(70%,680px)}

/* No underlines or underline-like borders on links, including Gutenberg content. */
a,a:hover,a:focus-visible,a:active,.entry-content a,.entry-content a:hover,.site-footer a,.site-nav a,.work-filters a{color:inherit;text-decoration:none!important;text-decoration-line:none!important;box-shadow:none}
.view-all,.work-filters .current{border-bottom:0}
.menu-toggle{position:relative;width:27px;height:24px;align-items:center;justify-content:center;color:inherit}
.menu-toggle span{position:absolute;left:2px;width:23px;height:1px;background:currentColor;transition:transform .35s cubic-bezier(.22,1,.36,1),top .35s cubic-bezier(.22,1,.36,1),opacity .2s}
.menu-toggle span:nth-child(1){top:9px}.menu-toggle span:nth-child(2){top:16px}
.menu-toggle[aria-expanded="true"] span:nth-child(1){top:12px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){top:12px;transform:rotate(-45deg)}
.site-nav ul{transition:opacity .3s ease,transform .35s cubic-bezier(.22,1,.36,1)}
.has-entry-motion.entry-motion-ready .home-intro,.has-entry-motion.entry-motion-ready .selected,.has-entry-motion.entry-motion-ready .page-heading,.has-entry-motion.entry-motion-ready .bio-hero,.has-entry-motion.entry-motion-ready .bio-content,.has-entry-motion.entry-motion-ready .work-detail{animation:martinoj-enter .65s both cubic-bezier(.22,1,.36,1)}
.has-entry-motion.entry-motion-ready .selected,.has-entry-motion.entry-motion-ready .bio-content{animation-delay:.12s}
@keyframes martinoj-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1024px){
 .site-nav{position:relative}.menu-toggle{display:flex}.site-nav ul{display:flex;visibility:hidden;opacity:0;transform:translateY(-8px) scale(.98);transform-origin:top right;pointer-events:none;left:auto;right:0;top:calc(100% + 10px);width:max-content;min-width:170px;min-height:0;padding:18px 20px;background:var(--surface,#fff);border:1px solid var(--line);align-items:flex-end;gap:16px;text-align:right;box-shadow:0 8px 24px rgba(0,0,0,.06)}
 .site-nav.is-open ul{visibility:visible;opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
 .works-grid{grid-template-columns:minmax(0,1fr);gap:34px}
 .archive-main{padding-top:75px}.page-heading{grid-template-columns:1fr;min-height:220px}.page-heading p{font-size:15px}
 .simple-page:has(.bio-page){padding-top:45px}.bio-hero{grid-template-columns:1fr 1fr;min-height:340px;gap:18px}
 .bio-hero h1{grid-column:1}.bio-hero__image{grid-column:2;grid-row:1}.bio-hero__contact{grid-column:1;grid-row:2;align-self:start}
 .bio-content > :not(.cv-row){max-width:100%;margin-left:0}.bio-content > .cv-row:first-of-type{margin-top:100px}
 .bio-content .cv-row{grid-template-columns:1fr;gap:22px;margin-bottom:70px}
 .work-pagination__next{max-width:65%}.work-pagination__next-title{max-width:100%;text-overflow:ellipsis}
}
@media(prefers-reduced-motion:reduce){.has-entry-motion.entry-motion-ready .home-intro,.has-entry-motion.entry-motion-ready .selected,.has-entry-motion.entry-motion-ready .page-heading,.has-entry-motion.entry-motion-ready .bio-hero,.has-entry-motion.entry-motion-ready .bio-content,.has-entry-motion.entry-motion-ready .work-detail{animation:none}.menu-toggle span,.site-nav ul,.work-pagination__next-reveal{transition:none}}

/* Follow the visitor's light/dark system setting without altering artwork. */
@media(prefers-color-scheme:dark){
 :root{--ink:#f3f3f3;--muted:#b7b7b7;--line:#555;--surface:#171717}
 body,.site-header{background:#171717;color:var(--ink)}
 .bio-content .cv-content strong{color:rgba(243,243,243,.7)}
 .entry-details.is-over-image{color:#fff}
 input:not([type=submit]),textarea{background:#222;color:var(--ink)}
 input[type=submit],button[type=submit]{background:#f3f3f3;color:#171717}
 .screen-reader-text:focus{background:#171717}
 body .site-nav ul{box-shadow:0 8px 24px rgba(0,0,0,.3)}
}

/* Contact page uses the same left-title/right-content rhythm as Works. */
.contact-page{padding:125px var(--gutter) 95px;min-height:calc(100vh - 150px)}
.contact-page__layout{display:grid;grid-template-columns:1fr 2fr;gap:20px;align-items:start}
.contact-page h1{margin:0;font-size:24px;font-weight:400;line-height:1.2;text-transform:uppercase}
.contact-page__body{min-width:0;max-width:700px}
.contact-page__intro{max-width:none;margin:0 0 70px!important;font-size:18px;line-height:1.45;color:var(--muted)}
.contact-page__intro > :first-child{margin-top:0}
.contact-form{display:grid;gap:25px}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-form label{display:block;text-transform:uppercase;font-size:12px;margin:0 0 8px}
.contact-form input:not([type=submit]),.contact-form textarea{display:block;width:100%;max-width:none;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);padding:9px 0 12px;outline:none}
.contact-form textarea{resize:vertical;min-height:145px}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{border-bottom-color:var(--ink);outline:2px solid transparent}
.contact-form button[type=submit]{justify-self:start;display:flex;align-items:center;gap:24px;margin-top:8px;border:0;background:none;color:var(--ink);padding:0;text-transform:uppercase;font-size:13px}
.contact-form button[type=submit] span{font-size:26px;line-height:.8;transition:transform .2s}
.contact-form button[type=submit]:hover span{transform:translateX(5px)}
.contact-form__notice{margin:0 0 22px;padding:12px 0;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
.contact-form__notice.is-error{color:#a53632}.contact-form__notice.is-success{color:var(--ink)}
.contact-form__trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
/* WordPress admin toolbar is 32px on desktop and 46px on narrow screens. */
body.admin-bar{--admin-offset:32px}
body.admin-bar .site-header{top:var(--admin-offset)}
body.admin-bar .work-detail__title,body.admin-bar .entry-details,body.admin-bar .entry-statement{top:calc(80px + var(--admin-offset))}
@media(max-width:782px){body.admin-bar{--admin-offset:46px}}
@media(max-width:600px){body.admin-bar{--admin-offset:0px}}
@media(max-width:1024px){
 .contact-page{padding-top:75px}.contact-page__layout{grid-template-columns:1fr;gap:45px}
 .contact-page__intro{margin-bottom:50px!important}
 .site-nav ul{max-height:calc(100dvh - 100px);overflow-y:auto}
}
@media(max-width:600px){.contact-form__row{grid-template-columns:1fr;gap:25px}.contact-page{padding-bottom:65px}}
@media(prefers-reduced-motion:reduce){.contact-form button[type=submit] span{transition:none}}
.view-all::after{font-size:19px}
.contact-form button[type=submit] span{font-size:16px}

/* Refinements and series filter — 0.7.0 */
.work-filter-wrap{display:flex;justify-content:flex-end;margin:0 0 25px}
.work-series-filter{min-width:170px;max-width:100%;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);padding:8px 24px 8px 0;font-size:13px;text-transform:uppercase;cursor:pointer}
#filtered-works.is-animated .work-card{animation:work-fade .5s both ease}
#filtered-works.is-animated .work-card:nth-child(3n+2){animation-delay:.06s}
#filtered-works.is-animated .work-card:nth-child(3n+3){animation-delay:.12s}
@keyframes work-fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.arrow-link,.view-all{display:inline-flex;align-items:center;gap:12px;text-transform:uppercase}
.arrow-link::after,.view-all::after{margin-bottom:5px}
.arrow-link::after{content:'→';font-size:19px;line-height:1;flex:none}
.arrow-link--left::after{content:none}
.arrow-link--left::before{content:'←';font-size:19px;line-height:1;flex:none;margin-bottom:5px}
.work-enquiry{margin-top:30px}
.work-pagination{align-items:flex-start}
.work-pagination__back{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.work-pagination__next{max-width:min(78%,950px);min-width:0;gap:12px}
.work-pagination__next-reveal{min-width:0}
.work-pagination__next-reveal > *{text-overflow:ellipsis}
.work-pagination__next-title{white-space:nowrap}
.imprint-page__layout{display:grid;grid-template-columns:1fr 2fr;gap:20px;min-height:65vh;padding-top:60px}
.imprint-page h1{font-size:24px;line-height:1.2;font-weight:400;text-transform:uppercase;margin:0}
.imprint-page .entry-content{margin:0 0 90px;max-width:700px;font-size:15px;line-height:1.7}
.bio-content .bio-hero__contact{margin-top:35px}
@media(max-width:1024px){
 .site-title{font-size:16px}
 .site-footer,.site-footer a,.site-footer p{font-size:13px}
 .imprint-page__layout{grid-template-columns:1fr;gap:45px;padding-top:20px}
 .work-pagination{flex-direction:column;gap:35px}
 .work-pagination__next{order:-1;align-self:flex-end;max-width:100%}
 .work-pagination__back{align-self:flex-start}
}
@media(prefers-reduced-motion:reduce){#filtered-works.is-animated .work-card{animation:none}}

.contact-form button[type=submit]{gap:12px}
.contact-form button[type=submit] span{margin-bottom:5px}

/* Layout and filter refinements — 0.7.1 */
.selected .view-all{display:flex;width:max-content;margin-left:auto;margin-right:0}
.archive-main{padding-bottom:85px}
.work-detail{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1.5fr);column-gap:40px}
.entry-statement{font-size:16px}
.work-pagination__next{display:inline-flex;align-items:center;justify-content:flex-end;max-width:70%;white-space:nowrap;min-width:0}
.work-pagination__next-reveal{display:inline-block;grid-template-columns:none;max-width:0;min-width:0;white-space:nowrap;overflow:hidden;opacity:0;transition:max-width .45s cubic-bezier(.22,1,.36,1),opacity .3s ease,margin-right .45s ease;margin-right:0}
.work-pagination__next-reveal > *{display:inline;overflow:visible;white-space:nowrap}
.work-pagination__next:hover .work-pagination__next-reveal,.work-pagination__next:focus-visible .work-pagination__next-reveal{display:inline-block;grid-template-columns:none;max-width:min(48vw,650px);opacity:1;margin-right:8px}
.work-pagination__next-title{display:inline-block;max-width:min(43vw,590px);overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}
.work-pagination__next > span:last-of-type{flex:none}
.arrow-link::after,.arrow-link--left::before{transition:transform .25s ease}
.arrow-link:hover::after,.arrow-link:focus-visible::after{transform:translateX(5px)}
.arrow-link--left:hover::before,.arrow-link--left:focus-visible::before{transform:translateX(-5px)}
.home-intro{grid-template-columns:minmax(0,1fr) minmax(0,30vw)}
.home-focus{aspect-ratio:auto;overflow:visible;width:100%;max-width:30vw}
.home-focus img{width:100%;height:auto;object-fit:contain}
.work-filter-wrap{position:relative;z-index:4}
.work-series-filter.is-enhanced{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.work-filter-button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:178px;height:40px;padding:0 12px;border:1px solid #eee;border-radius:11px;background:var(--surface,#fff);color:var(--ink);font-size:13px;text-align:left;cursor:pointer;box-shadow:0 1px 6px rgba(0,0,0,.025)}
.work-filter-button:hover,.work-filter-button[aria-expanded=true]{border-color:#999}
.work-filter-button__chevron{width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .22s}
.work-filter-button[aria-expanded=true] .work-filter-button__chevron{transform:translateY(2px) rotate(225deg)}
.work-filter-menu{position:absolute;right:0;top:calc(100% + 6px);width:178px;padding:5px;border:1px solid var(--line);border-radius:11px;background:var(--surface,#fff);box-shadow:0 8px 25px rgba(0,0,0,.1);animation:work-filter-open .2s ease both}
.work-filter-menu[hidden]{display:none}
.work-filter-option{display:block;width:100%;padding:9px 8px;border:0;border-radius:7px;background:transparent;color:var(--ink);text-align:left;font-size:13px;cursor:pointer;animation:work-fade .3s ease both}
.work-filter-option:nth-child(2){animation-delay:.025s}.work-filter-option:nth-child(3){animation-delay:.05s}.work-filter-option:nth-child(4){animation-delay:.075s}.work-filter-option:nth-child(5){animation-delay:.1s}
.work-filter-option:hover,.work-filter-option:focus-visible{background:rgba(128,128,128,.12);outline:0}
.work-filter-option[aria-selected=true]{color:var(--muted)}
@keyframes work-filter-open{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1024px){
 .work-detail{display:flex;flex-direction:column;gap:0}
 .entry-statement{font-size:16px}
 .home-intro{padding-bottom:150px}
 .home-focus{align-self:flex-start;width:min(80vw,100%);max-width:80vw}
 .archive-main{padding-bottom:65px}
 .work-pagination__next{max-width:100%}
 .work-pagination__next:hover .work-pagination__next-reveal,.work-pagination__next:focus-visible .work-pagination__next-reveal{max-width:55vw}
 .work-pagination__next-title{max-width:50vw}
}
@media(prefers-reduced-motion:reduce){.arrow-link::after,.arrow-link--left::before,.work-filter-button__chevron,.work-filter-menu,.work-filter-option,.work-pagination__next-reveal{animation:none;transition:none}}

/* Natural image proportions, progressive works list and consistent footer — 0.8.0 */
body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
body > main{width:100%;flex:1 0 auto}
.site-footer{margin-top:auto;border:0;box-shadow:none}
.imprint-page__layout{min-height:0}
.simple-page .imprint-page h1{border:0;padding-bottom:0}
.home-focus{margin-bottom:60px}
.work-card__image{aspect-ratio:auto;height:auto;overflow:visible}
.work-card__image img{display:block;width:100%;height:auto;object-fit:contain}
.works-load-controls{display:flex;justify-content:center;min-height:50px;margin:65px 0 0;text-transform:uppercase}
.works-load-more{align-self:flex-start;border:0;background:none;padding:0;color:var(--ink);font-size:13px;cursor:pointer}
.works-load-more::after{content:'↓'}
.works-load-more:hover::after,.works-load-more:focus-visible::after{transform:translateY(5px)}
.works-load-controls[aria-busy=true]{opacity:.55;pointer-events:none}
.works-end{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--muted)}
.works-back-top{display:inline-flex;align-items:center;gap:12px;color:var(--ink)}
.works-back-top::after{content:'↑';font-size:19px;line-height:1;margin-bottom:5px;transition:transform .25s ease}
.works-back-top:hover::after,.works-back-top:focus-visible::after{transform:translateY(-5px)}
.work-card--enter{animation:work-fade .45s both ease}
@media(max-width:1024px){
 .home-intro{padding-bottom:0}
 .works-load-controls{margin-top:50px}
}
@media(prefers-reduced-motion:reduce){.work-card--enter{animation:none}.works-back-top::after{transition:none}}

/* Artwork lightbox: isolated native dialog, full image and optional caption. */
.entry-gallery .work-lightbox-link{display:block;cursor:zoom-in;text-decoration:none}
.work-lightbox{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--surface,#fff);color:var(--ink);overflow:hidden;overscroll-behavior:contain}
.work-lightbox::backdrop{background:var(--surface,#fff)}
.work-lightbox__toolbar{position:absolute;top:12px;right:20px;display:flex;gap:12px;z-index:2}
.work-lightbox__toolbar button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:var(--surface,#fff);color:var(--ink);font-size:30px;line-height:1;cursor:pointer}
.work-lightbox__toolbar button:focus-visible,.work-lightbox-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.work-lightbox__figure{height:100%;margin:0;padding:68px 20px 20px;display:flex;flex-direction:column;gap:12px}
.work-lightbox__stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;cursor:auto}
.work-lightbox__stage.is-zoomed{cursor:grab}
.work-lightbox__stage.is-zoomed:active{cursor:grabbing}
.work-lightbox__image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;flex:none;transform-origin:center;user-select:none;-webkit-user-select:none}
.work-lightbox__caption{flex:none;text-align:center;font-size:13px;line-height:1.5;max-height:20vh;overflow:auto;margin:0;white-space:pre-line}
.work-lightbox [hidden]{display:none!important}
.work-lightbox__error{text-align:center}
@media(max-width:600px){.work-lightbox__toolbar{right:8px;top:8px}.work-lightbox__figure{padding:60px 12px 16px}}

/* Match native controls and the document canvas to the chosen theme. */
:root{color-scheme:light dark}
html{background:var(--surface,#fff)}

.work-lightbox__stage.can-zoom{cursor:zoom-in}
.work-lightbox__stage.can-zoom.is-zoomed{cursor:grab}
.work-lightbox__stage.can-zoom.is-zoomed:active{cursor:grabbing}

/* Truncate the selected series only; preserve complete labels in the menu. */
.work-filter-button__label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.work-filter-button__chevron{flex-shrink:0}
.work-filter-option{white-space:normal;overflow-wrap:anywhere;line-height:1.4}

/* A quiet cue for touchscreen visitors; desktop keeps the explicit links. */
.work-swipe-hint{display:none}
@media(max-width:1024px) and (pointer:coarse){.work-swipe-hint{display:block;margin:30px 0 0;text-align:center;font-size:11px;color:var(--muted);letter-spacing:.02em}}

/* Equal artwork navigation above the separate return links. */
.work-pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:0;row-gap:45px;align-items:start}
.work-pagination__back{grid-column:1 / -1;grid-row:2;min-width:0}
.work-pagination__previous,.work-pagination__next{display:flex;align-items:center;gap:8px;min-width:0;max-width:none;width:100%;min-height:44px;order:0;align-self:stretch;white-space:nowrap}
.work-pagination__previous{grid-column:1;grid-row:1;justify-content:flex-start;padding-right:10px}
.work-pagination__next{grid-column:2;grid-row:1;justify-content:flex-end;padding-left:10px}
.work-pagination__previous > span:first-of-type,.work-pagination__next > span:last-of-type{flex:none}
.work-pagination .work-pagination__previous-reveal,.work-pagination .work-pagination__next-reveal{display:flex;align-items:center;gap:6px;min-width:0;max-width:0;overflow:hidden;white-space:nowrap;opacity:0;margin:0;transition:max-width .45s cubic-bezier(.22,1,.36,1),opacity .3s ease}
.work-pagination__previous:hover .work-pagination__previous-reveal,.work-pagination__previous:focus-visible .work-pagination__previous-reveal,.work-pagination__next:hover .work-pagination__next-reveal,.work-pagination__next:focus-visible .work-pagination__next-reveal{display:flex;flex-wrap:nowrap;max-width:calc(100% - 110px);opacity:1;margin:0}
.work-pagination .work-pagination__previous-title,.work-pagination .work-pagination__next-title{display:block;min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.work-pagination .work-pagination__slash{flex:none;overflow:visible;max-width:none;opacity:1}
@media(max-width:1024px){.site-footer{align-items:flex-end}}
@media(prefers-reduced-motion:reduce){.work-pagination .work-pagination__previous-reveal,.work-pagination .work-pagination__next-reveal{transition:none}}
