@font-face{font-family:'DejaVu Serif';src:url('assets/dejavu-serif.woff') format('woff');font-weight:400;font-style:normal;font-display:swap;}
:root{--paper:#f5f2e9;--ink:#20201d;--muted:#595a52;--rule:#cbc8bd;--wash:#e9e6dc;--serif:'DejaVu Serif',Georgia,serif;--sans:Arial,Helvetica,sans-serif;--space:clamp(22px,5.2vw,84px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}img{display:block;width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:5px}button:disabled{opacity:.45;cursor:default}::selection{background:#d9decb;color:var(--ink)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.17;letter-spacing:-.025em}h1{font-size:clamp(42px,6vw,78px)}h2{font-size:clamp(28px,3.5vw,48px)}h3{font-size:clamp(24px,2.5vw,31px)}p+p{margin-top:1.1em}figure{min-width:0}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.17em;font-weight:600;line-height:1.5}.quiet{color:var(--muted)}.lead{font-family:var(--serif);font-size:clamp(21px,2.1vw,28px);line-height:1.55}.caption{font-size:12px;line-height:1.5;color:var(--muted)}.caption strong{font-weight:500;color:var(--ink)}.wrap{width:min(1440px,100%);margin:auto;padding-inline:var(--space)}.narrow{max-width:720px}.rule{border-top:1px solid var(--rule)}.section{padding-block:clamp(55px,8vw,112px)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-head .eyebrow{margin-bottom:15px}.section-head h2{max-width:780px}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:13px;line-height:1.4;text-decoration:none;border-bottom:1px solid var(--ink);padding:7px 0;white-space:nowrap}.text-link:hover{border-color:var(--muted);color:var(--muted)}.text-link .arrow{font-size:22px;line-height:1}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:14px 20px;border:1px solid var(--ink);text-decoration:none;font-size:13px;min-height:46px;background:transparent}.btn.dark{background:var(--ink);color:var(--paper)}.btn:hover{background:var(--wash)}.btn.dark:hover{background:#3b3b35}.actions{display:flex;flex-wrap:wrap;gap:14px}.actions .btn{min-width:160px}.skip-link{position:absolute;left:16px;top:-100px;padding:10px 16px;background:var(--ink);color:var(--paper);z-index:80}.skip-link:focus{top:12px}
.consultation{border-bottom:1px solid var(--rule);background:var(--wash);padding:5px var(--space);font-size:10px;line-height:1.5;text-align:right;letter-spacing:.05em}.site-header{border-bottom:1px solid var(--rule);position:relative;z-index:10}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:106px}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;flex-shrink:0}.brand img{width:50px;height:50px;object-fit:contain;}.brand span{font-family:var(--serif);font-size:17px;line-height:1.3}.brand small{font-family:var(--sans);display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:2px}.menu{display:flex;gap:clamp(14px,1.7vw,26px);align-items:center}.menu a{font-size:12px;text-decoration:none;line-height:1.35;padding:10px 0;border-bottom:1px solid transparent;max-width:118px}.menu a:hover,.menu a[aria-current='page']{border-color:var(--ink)}.menu-toggle{display:none;align-items:center;gap:12px;background:transparent;border:1px solid var(--ink);padding:9px 12px;font-size:12px}.menu-toggle svg{width:18px;height:18px}.menu-toggle line{stroke:currentColor;stroke-width:1.5}.hero{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(40px,6vw,100px);align-items:center;padding-block:clamp(42px,5.8vw,90px)}.hero-copy{max-width:560px}.hero .eyebrow{margin-bottom:30px}.hero h1{font-size:clamp(43px,5vw,71px)}.hero .lead{font-size:clamp(20px,1.8vw,24px);margin-top:28px;max-width:470px}.hero .actions{margin-top:34px}.hero-note{font-size:12px;margin-top:35px;color:var(--muted)}.hero-art img{max-height:660px;object-fit:contain}.hero-art figcaption{margin-top:12px;display:flex;justify-content:space-between;gap:15px}.hero-art .image-button{display:block;width:100%;padding:0;background:transparent;border:0;cursor:zoom-in}.intro-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:80px}.intro-grid .lead{max-width:780px}.intro-grid .text-link{margin-top:24px}.home-selection{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:start}.card-link{display:block;text-decoration:none}.image-stage{background:var(--wash);display:flex;align-items:center;justify-content:center;overflow:hidden}.image-stage img{object-fit:contain;max-height:540px;width:100%;height:auto}.home-selection .image-stage{height:305px;padding:16px}.card-link .card-title{display:flex;justify-content:space-between;align-items:start;gap:20px;font-family:var(--serif);font-size:23px;line-height:1.2;margin-top:18px}.card-link .card-title .arrow{font-family:var(--sans);font-size:20px;font-weight:400}.card-link .caption{margin-top:7px}.card-link:hover .card-title{text-decoration:underline;text-underline-offset:6px}.home-selection .card-link:nth-child(2){margin-top:48px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(38px,7vw,110px);align-items:start}.two-col .eyebrow{margin-bottom:22px}.two-col h2+.lead{margin-top:22px}.two-col p:not(.lead){max-width:640px}.two-col .actions{margin-top:28px}.home-expo{background:var(--wash);margin-top:0}.home-expo img{max-height:520px;object-fit:contain}.home-expo .caption{margin-top:12px}.archive-tag{font-size:10px;border:1px solid var(--rule);padding:4px 9px;display:inline-block;letter-spacing:.07em;text-transform:uppercase;margin-bottom:20px}.contact-strip{padding-block:70px;border-top:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-strip h2{max-width:760px}.contact-strip .eyebrow{margin-bottom:17px}
.page-head{padding-top:clamp(42px,6vw,90px);padding-bottom:44px;display:grid;grid-template-columns:1.08fr .92fr;gap:65px;align-items:end}.page-head .eyebrow{margin-bottom:22px}.page-head h1{font-size:clamp(42px,5.8vw,72px)}.page-head p{max-width:530px;font-family:var(--serif);font-size:21px;line-height:1.55}.artist-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(44px,8vw,130px);padding-block:15px 90px}.artist-layout figure img{max-height:700px;object-fit:contain}.artist-layout figcaption{margin-top:12px}.artist-layout .copy{max-width:710px}.artist-layout .copy h2{font-size:32px;margin:12px 0 28px}.artist-layout .copy p{font-size:17px;line-height:1.85}.artist-layout .copy .lead{font-size:24px;line-height:1.6;margin-bottom:28px}.practice-band{display:grid;grid-template-columns:1fr 2fr;gap:80px;padding-block:55px 80px}.practice-band .practice-details{display:grid;grid-template-columns:1fr 1fr;gap:25px 45px}.practice-band h3{font-size:22px;margin-bottom:10px}.practice-band .caption{font-size:14px}.artist-quote{padding:55px 0;font-family:var(--serif);font-size:clamp(28px,4vw,48px);line-height:1.4;max-width:920px;border-top:1px solid var(--rule)}.artist-quote cite{font-style:normal;display:block;font-family:var(--sans);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-top:23px}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 34px}.filters button{background:transparent;border:1px solid var(--rule);font-size:12px;padding:9px 15px;min-height:42px}.filters button[aria-pressed='true']{background:var(--ink);color:var(--paper);border-color:var(--ink)}.gallery-meta{font-size:11px;color:var(--muted);margin-bottom:22px}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 30px;padding-bottom:80px;align-items:start}.works-grid .image-stage{height:355px;padding:12px}.works-grid .card-title{font-size:22px}.works-grid .eyebrow{font-size:9px;margin-top:14px;color:var(--muted)}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px 40px;padding-bottom:90px}.projects-grid .image-stage{height:360px;padding:0;background:transparent}.projects-grid .card-title{font-size:27px}.projects-grid .project-info{display:flex;justify-content:space-between;gap:20px;margin-top:14px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.projects-grid .card-title{margin-top:12px}.projects-grid .caption{font-size:14px;max-width:530px;margin-top:10px}.projects-grid .card-link:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.24fr .76fr;gap:50px;align-items:center}.projects-grid .card-link:first-child .image-stage{height:auto}.projects-grid .card-link:first-child .card-title{font-size:clamp(36px,4vw,54px)}.projects-grid .card-link:first-child .caption{font-size:17px}.projects-grid .card-link:first-child .project-info{justify-content:start;gap:14px;flex-wrap:wrap}.method{background:var(--wash)}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:38px}.method-step{border-top:1px solid #b6b2a6;padding-top:20px}.method-step .eyebrow{color:var(--muted);margin-bottom:20px}.method-step h3{font-size:23px;line-height:1.35;margin-bottom:13px}.method-step p{font-size:14px;line-height:1.75}.scope-text{display:grid;grid-template-columns:1fr 1.4fr;gap:70px}.scope-text .lead{margin-top:22px}.scope-text .domain-list{display:grid;grid-template-columns:1fr 1fr;gap:32px}.domain-list h3{font-size:22px;margin-bottom:9px}.domain-list p{font-size:14px}
.back-link{display:inline-flex;gap:12px;font-size:12px;text-decoration:none;margin-top:34px;padding:5px 0}.back-link:hover{text-decoration:underline}.detail-head{padding-block:34px 40px;display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}.detail-head h1{font-size:clamp(40px,5.5vw,70px);margin-top:16px}.detail-head .lead{font-size:23px}.detail-head .eyebrow{color:var(--muted)}.detail-main{padding-bottom:65px}.detail-main img{max-height:780px;object-fit:contain}.detail-main figcaption{margin-top:15px;display:flex;gap:20px;justify-content:space-between}.detail-description{display:grid;grid-template-columns:1.4fr .6fr;gap:95px;padding-bottom:80px}.detail-description .narrative{max-width:740px}.detail-description .narrative h2{font-size:32px;margin-bottom:26px}.detail-description p{font-size:17px;line-height:1.8}.fact-list{margin:0}.fact-list div{border-top:1px solid var(--rule);padding-block:14px}.fact-list dt{font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px;color:var(--muted)}.fact-list dd{font-size:14px;margin:0;line-height:1.7}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-bottom:75px}.detail-gallery .image-stage{height:430px;padding:15px}.detail-gallery figcaption{margin-top:13px;font-size:12px}.image-button{border:0;padding:0;background:transparent;width:100%;cursor:zoom-in}.project-related{padding-bottom:55px}.project-related .home-selection{margin-top:30px}.artwork-detail{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:start;padding-top:36px;padding-bottom:85px}.artwork-detail figure img{max-height:780px;object-fit:contain}.artwork-detail .details{padding-top:45px}.artwork-detail h1{font-size:clamp(38px,4.5vw,62px);margin:15px 0 28px}.artwork-detail .fact-list{margin-top:28px}.artwork-detail .actions{margin-top:34px}.artwork-detail .caption{margin-top:14px}
.expo-list{display:grid;gap:65px;padding-block:10px 70px}.expo-entry{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center;padding-bottom:60px;border-bottom:1px solid var(--rule)}.expo-entry .image-stage{height:450px;padding:0;background:transparent}.expo-entry h2{margin:12px 0 20px}.expo-entry .date{font-size:12px;line-height:1.6;margin-top:22px}.expo-entry .lead{font-size:21px}.expo-entry .actions{margin-top:26px}.expo-entry figcaption{margin-top:14px}.exhibition-gallery{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-bottom:70px}.exhibition-gallery .image-stage{height:380px;padding:12px}.exhibition-gallery figcaption{margin-top:13px}
.contact-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;padding:10px 0 95px}.contact-layout .direct-contact{display:flex;flex-direction:column;align-items:start;gap:22px;margin-block:35px}.direct-contact a{font-family:var(--serif);font-size:clamp(22px,3vw,35px);text-decoration:none;border-bottom:1px solid var(--ink);line-height:1.45;overflow-wrap:anywhere}.direct-contact a.email{font-size:clamp(18px,2vw,25px)}.contact-layout .lead{max-width:700px;font-size:25px}.contact-note{border-top:1px solid var(--rule);padding-top:22px}.contact-note .eyebrow{margin-bottom:14px}.contact-layout figure img{max-height:510px;object-fit:contain}.contact-layout figcaption{margin-top:14px}.credits-copy{max-width:880px;padding-bottom:85px}.credits-copy h2{font-size:26px;margin:32px 0 17px}.credits-copy p{font-size:16px}
.footer{border-top:1px solid var(--rule);padding-block:36px 28px}.footer-main{display:flex;justify-content:space-between;align-items:start;gap:40px}.footer .brand img{width:42px;height:42px}.footer .brand span{font-size:15px}.footer-contact{font-size:13px;display:flex;flex-direction:column;gap:3px;text-align:right}.footer-small{border-top:1px solid var(--rule);padding-top:22px;margin-top:30px;font-size:10px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--muted)}.footer-small a{color:inherit}.lightbox{border:0;background:#f5f2e9;color:var(--ink);width:min(96vw,1440px);max-width:1440px;max-height:95vh;padding:22px;overflow:auto}.lightbox::backdrop{background:rgba(24,24,20,.84)}.lightbox-top{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:18px;font-size:12px}.lightbox-close{background:transparent;border:1px solid var(--ink);padding:8px 14px;min-height:42px;font-size:12px;flex-shrink:0}.lightbox img{max-height:78vh;object-fit:contain}.lightbox .caption{margin-top:14px}.noscript{margin:35px var(--space);padding:25px;border:1px solid var(--rule)}.not-found{padding:75px 0 110px}.not-found h1{margin-bottom:30px}.not-found .actions{margin-top:30px}
@media(min-width:1500px){.hero-art img{max-height:730px}}
@media(max-width:1120px){.menu{gap:16px}.menu a{font-size:11px;max-width:101px}.brand span{font-size:15px}.brand img{width:43px;height:43px}.header-inner{gap:18px}.home-selection .image-stage{height:250px}.works-grid .image-stage{height:300px}.page-head{gap:45px}.detail-description{gap:60px}.project-related .home-selection .card-link:nth-child(2){margin-top:0}.method-grid{grid-template-columns:1fr 1fr;gap:40px}.artwork-detail{gap:45px}.hero{gap:45px}.detail-gallery .image-stage{height:330px}}
@media(max-width:900px){.menu-toggle{display:flex}.header-inner{min-height:90px}.menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:18px var(--space) 25px;border-bottom:1px solid var(--rule);box-shadow:0 18px 28px rgba(0,0,0,.06);flex-direction:column;align-items:stretch;gap:0}.menu.is-open{display:flex}.menu a{max-width:none;font-size:15px;padding-block:14px;border-bottom:1px solid var(--rule)}.hero{grid-template-columns:.85fr 1.15fr;gap:35px}.hero h1{font-size:45px}.hero .lead{font-size:20px}.hero-art img{max-height:610px}.hero .eyebrow{margin-bottom:20px}.hero .actions .btn{min-width:unset}.home-selection{gap:20px}.home-selection .image-stage{height:210px;padding:8px}.home-selection .card-title{font-size:20px}.intro-grid{gap:38px;grid-template-columns:.8fr 1.6fr}.two-col{gap:40px}.artist-layout{grid-template-columns:.85fr 1.15fr;gap:40px}.artist-layout .copy .lead{font-size:22px}.artist-layout .copy p{font-size:15px}.practice-band{grid-template-columns:1fr;gap:30px}.works-grid{grid-template-columns:1fr 1fr;gap:42px 26px}.works-grid .image-stage{height:340px}.projects-grid .card-link:first-child{gap:35px}.projects-grid .image-stage{height:260px}.scope-text{gap:40px;grid-template-columns:1fr}.detail-head{gap:45px}.detail-description{grid-template-columns:1.3fr .7fr;gap:45px}.expo-entry{gap:35px;grid-template-columns:1fr 1fr}.expo-entry .image-stage{height:350px}.contact-layout{gap:40px}.contact-layout .lead{font-size:22px}}
@media(max-width:650px){:root{--space:22px}body{font-size:15px}.consultation{text-align:left;font-size:9px;padding-block:7px}.brand span{font-size:15px}.brand img{width:41px;height:41px}.header-inner{min-height:81px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:32px;padding-block:35px 50px}.hero .eyebrow{margin-bottom:18px}.hero h1{font-size:clamp(42px,10.6vw,65px);line-height:1.15;max-width:450px}.hero .lead{font-size:21px;margin-top:22px}.hero .actions{margin-top:24px}.hero-art img{max-height:620px;width:100%;object-fit:contain}.hero-art figcaption{font-size:11px}.hero-note{margin-top:21px}.section{padding-block:50px}.intro-grid{grid-template-columns:1fr;gap:26px}.intro-grid .lead{font-size:23px}.section-head{align-items:start;gap:25px;flex-direction:column;margin-bottom:30px}.section-head h2{font-size:34px}.section-head .eyebrow{margin-bottom:12px}.home-selection{grid-template-columns:1fr;gap:34px}.home-selection .image-stage{height:auto;min-height:220px;padding:12px}.home-selection .image-stage img{max-height:420px;width:100%;object-fit:contain}.home-selection .card-link:nth-child(2){margin-top:0}.home-selection .card-title{font-size:25px}.home-selection .caption{font-size:13px}.two-col{grid-template-columns:1fr;gap:32px}.two-col h2{font-size:35px}.two-col .lead{font-size:22px}.contact-strip{display:block;padding-block:48px}.contact-strip h2{font-size:33px}.contact-strip .actions{margin-top:25px}.page-head{display:block;padding-top:40px;padding-bottom:35px}.page-head h1{font-size:46px}.page-head p{font-size:21px;margin-top:26px}.page-head .eyebrow{margin-bottom:18px}.artist-layout{grid-template-columns:1fr;gap:35px;padding-bottom:50px}.artist-layout figure{max-width:480px}.artist-layout figure img{max-height:570px}.artist-layout .copy h2{font-size:29px;margin-top:0}.artist-layout .copy .lead{font-size:23px}.artist-layout .copy p{font-size:16px}.practice-band{padding-block:40px 50px}.practice-band .practice-details{grid-template-columns:1fr;gap:26px}.artist-quote{font-size:30px;padding-block:40px}.works-grid{gap:38px 18px}.works-grid .image-stage{height:230px;padding:7px}.works-grid .card-title{font-size:20px;gap:8px}.works-grid .caption{font-size:11px}.works-grid .eyebrow{font-size:8px}.filters{gap:7px;margin-top:4px}.filters button{padding:8px 10px;font-size:11px}.projects-grid{grid-template-columns:1fr;gap:42px}.projects-grid .card-link:first-child{display:block}.projects-grid .card-link:first-child .card-title{font-size:34px}.projects-grid .card-link:first-child .caption{font-size:15px}.projects-grid .image-stage{height:auto;min-height:220px}.projects-grid .project-info{flex-wrap:wrap;gap:5px 18px}.projects-grid .card-title{font-size:28px}.method-grid{grid-template-columns:1fr;gap:30px}.method-step .eyebrow{margin-bottom:12px}.method-step p{font-size:15px}.scope-text .domain-list{grid-template-columns:1fr}.detail-head{display:block;padding-block:28px 30px}.detail-head h1{font-size:46px}.detail-head .lead{margin-top:22px;font-size:22px}.detail-main{padding-bottom:40px}.detail-main img{max-height:580px}.detail-main figcaption{display:block}.detail-main figcaption span{display:block;margin-top:5px}.detail-description{grid-template-columns:1fr;gap:30px;padding-bottom:45px}.detail-description .narrative h2{font-size:30px}.detail-description p{font-size:16px}.detail-gallery{grid-template-columns:1fr;gap:30px;padding-bottom:45px}.detail-gallery .image-stage{height:auto;padding:10px}.detail-gallery .image-stage img{max-height:570px}.artwork-detail{grid-template-columns:1fr;gap:10px;padding-top:25px;padding-bottom:55px}.artwork-detail figure img{max-height:640px}.artwork-detail .details{padding-top:26px}.artwork-detail h1{font-size:44px}.expo-list{gap:42px}.expo-entry{grid-template-columns:1fr;gap:30px;padding-bottom:40px}.expo-entry .image-stage{height:auto}.expo-entry .image-stage img{max-height:470px}.expo-entry h2{font-size:34px}.exhibition-gallery{grid-template-columns:1fr}.exhibition-gallery .image-stage{height:auto}.exhibition-gallery img{max-height:570px}.contact-layout{grid-template-columns:1fr;gap:40px;padding-bottom:60px}.contact-layout .lead{font-size:24px}.direct-contact a{font-size:30px}.direct-contact a.email{font-size:22px}.contact-layout figure img{max-height:490px}.footer-main{flex-direction:column;gap:25px}.footer-contact{text-align:left;font-size:14px}.footer-small{margin-top:25px;gap:12px}.lightbox{width:100vw;max-width:100vw;padding:15px;max-height:100dvh}.lightbox img{max-height:76dvh}.lightbox-top{font-size:11px;gap:10px}}
@media(max-width:370px){.brand{gap:10px}.brand span{font-size:13px}.menu-toggle{padding:8px 10px}.works-grid{grid-template-columns:1fr}.works-grid .image-stage{height:auto}.works-grid .image-stage img{max-height:500px}.works-grid .card-title{font-size:25px}.works-grid .caption{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{.consultation,.menu,.menu-toggle,.actions,.filters,.lightbox,.skip-link{display:none!important}.site-header{position:static}.wrap{padding-inline:20px}.hero,.two-col,.projects-grid,.artist-layout,.detail-description{break-inside:avoid}.section{padding-block:25px}a{text-decoration:none}.footer-small{font-size:9px}body{background:white}.image-stage{background:transparent}}


/* V2 consultation: transverse artist practice; mobile image immediately after H1. */
.hero-v2{grid-template-areas:'heading art' 'description art';grid-template-rows:auto auto;row-gap:20px;align-items:start}
.hero-v2 .hero-heading{grid-area:heading;align-self:end;max-width:560px}
.hero-v2 .hero-description{grid-area:description;align-self:start;max-width:560px}
.hero-v2 .hero-art{grid-area:art;align-self:center}
.hero-v2 .hero-art img{max-height:620px}
.hero-v2 .hero-atelier{font-size:.46em;letter-spacing:.01em;line-height:1.7}
.hero-v2 .hero-description .lead{margin-top:0}
.artist-layout figure img,.contact-layout figure img{filter:grayscale(1)}
.painting-statement{max-width:910px;padding:12px 0 38px;margin-bottom:24px;border-bottom:1px solid var(--rule)}
.painting-statement[hidden]{display:none}
.painting-statement .eyebrow{margin-bottom:20px}
.painting-statement h2{font-size:clamp(28px,3.5vw,43px);max-width:830px;margin-bottom:24px}
.painting-statement .lead{font-size:24px;margin-bottom:22px}
.painting-statement p:not(.eyebrow):not(.lead){max-width:800px;font-size:16px;line-height:1.8}
.contact-references{border-top:1px solid var(--rule);padding-top:28px;margin-top:35px}
.contact-references h2{font-size:31px;margin-top:12px;margin-bottom:28px}
.contact-references h3{font-size:20px;margin:24px 0 12px}
.reference-list{margin:0}
.reference-list div{padding-block:14px;border-top:1px solid var(--rule)}
.reference-list dt{font-size:14px;font-weight:600;line-height:1.6}
.reference-list dd{margin:5px 0 0;font-size:13px;line-height:1.7}
.reference-list .text-link{font-size:12px;padding-block:5px;gap:14px}
@media(max-width:650px){
  .hero-v2{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:'heading' 'art' 'description';grid-template-rows:auto auto auto;gap:23px;padding-top:26px}
  .hero-v2 .hero-heading,.hero-v2 .hero-description{max-width:none}
  .hero-v2 .hero-art img{max-height:500px;object-fit:contain}
  .hero-v2 h1{font-size:clamp(40px,10vw,62px)}
  .hero-v2 .eyebrow{margin-bottom:10px}
  .hero-v2 .hero-atelier{font-size:.46em;line-height:1.5}
  .hero-v2 .hero-description .lead{margin-top:0;font-size:22px}
  .hero-v2 .hero-note{margin-top:20px}
  .painting-statement{padding-bottom:28px;margin-bottom:22px}
  .painting-statement .lead{font-size:22px}
  .contact-references h2{font-size:29px}
}


/* V4: original Olivier from the published site, full viewport width.
   New hero only; header, portfolio, project pages and all other styles retained. */
.hero.hero-v4{display:block;padding:0 0 clamp(42px,5.8vw,90px);margin:0}
.hero-v4 .hero-art-full{margin:0;width:100%;max-width:none}
.hero-v4 .hero-art-full .image-button{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;padding:0;border:0}
.hero-v4 .hero-art-full img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 50%}
.hero-v4 .hero-art-full figcaption{margin-top:14px;display:flex;justify-content:space-between;gap:15px}
.hero-v4 .hero-intro{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(40px,6vw,100px);align-items:center;padding-top:clamp(32px,4vw,58px)}
.hero-v4 .hero-heading,.hero-v4 .hero-description{max-width:560px}
.hero-v4 .hero-description .lead{margin-top:0}
.hero-v4 .hero-atelier{font-size:.46em;letter-spacing:.01em;line-height:1.7}
@media(max-width:900px){.hero-v4 .hero-intro{gap:35px}.hero-v4 h1{font-size:45px}.hero-v4 .hero-atelier{line-height:1.5}}
@media(max-width:650px){
  .hero.hero-v4{display:block;padding-top:0;padding-bottom:50px}
  .hero-v4 .hero-art-full .image-button{aspect-ratio:4/3}
  .hero-v4 .hero-art-full figcaption{font-size:11px;gap:12px}
  .hero-v4 .hero-intro{grid-template-columns:minmax(0,1fr);gap:25px;padding-top:30px}
  .hero-v4 h1{font-size:clamp(40px,10vw,62px)}
  .hero-v4 .eyebrow{margin-bottom:10px}
  .hero-v4 .hero-description .lead{font-size:22px}
  .hero-v4 .hero-note{margin-top:20px}
}

/* V3: true transparent monogram, wider visual gallery and price on request. */
.site-header .brand{flex:0 1 auto;min-width:0;gap:14px}
.site-header .brand img{width:66px;height:66px;flex:0 0 66px}
.site-header .brand span{min-width:0}
.price-request{margin-top:25px;font-size:14px!important;font-family:var(--sans);line-height:1.6}
.named-references{margin:12px 0 15px;padding-left:18px;font-size:14px;line-height:1.9}
.major-gallery{display:grid;grid-template-columns:1fr 1fr;gap:60px 45px;padding:5px 0 85px}
.major-gallery-item .image-stage{height:485px;padding:0;background:transparent}
.major-gallery-item .image-stage img{max-height:485px;object-fit:contain}
.major-gallery-item .card-title{font-size:27px;margin-top:17px}
.major-gallery-item .caption{font-size:13px;margin-top:9px}
.major-gallery-item:first-child{grid-column:1/-1}
.major-gallery-item:first-child .image-stage{height:auto}
.major-gallery-item:first-child .image-stage img{max-height:720px}
.gallery-scenography{background:var(--wash)}
.gallery-scenography figure img{max-height:560px;object-fit:contain}
.gallery-scenography figure .caption{margin-top:14px}
.home-work .caption{margin-top:13px}
@media(max-width:1120px){.major-gallery-item .image-stage{height:380px}.major-gallery-item .image-stage img{max-height:380px}}
@media(max-width:650px){
  .site-header .header-inner{gap:14px;min-height:88px}
  .site-header .brand{gap:12px;flex:1 1 auto;min-width:0}
  .site-header .brand img{width:56px;height:56px;flex:0 0 56px}
  .site-header .brand span{font-size:15px;line-height:1.3;min-width:0;overflow-wrap:normal}
  .site-header .menu-toggle{flex:0 0 auto}
  .major-gallery{grid-template-columns:1fr;gap:38px;padding-bottom:55px}
  .major-gallery-item .image-stage,.major-gallery-item:first-child .image-stage{height:auto}
  .major-gallery-item .image-stage img{max-height:560px}
  .major-gallery-item .card-title{font-size:26px}
  .major-gallery-item .caption{font-size:12px}
  .price-request{font-size:14px!important;margin-top:22px}
}

/* V5: centered title above the full-width image; one spacious artwork gallery. */
.hero-v5 .hero-title{text-align:center;padding-top:clamp(30px,4vw,58px);padding-bottom:clamp(30px,3.4vw,49px)}
.hero-v5 .hero-title h1{margin:0 auto;max-width:1100px;font-size:clamp(44px,5.3vw,78px);line-height:1.12}
.hero-v5 .hero-title .hero-atelier{display:block;font-size:.43em;line-height:1.5;letter-spacing:.01em;margin-bottom:8px}
.hero-v5 .hero-title .hero-name{display:block}
.hero-v5 .hero-heading .eyebrow{margin-bottom:0}
.hero-v5 .hero-intro{padding-top:clamp(30px,4vw,58px)}
.works-grid.works-gallery{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px 45px;padding-bottom:85px}
.works-gallery .image-stage{height:485px;padding:0;background:transparent}
.works-gallery .image-stage img{max-height:485px;object-fit:contain}
.works-gallery .card-title{font-size:27px;margin-top:17px}
.works-gallery .caption{font-size:13px;margin-top:9px}
.works-gallery .eyebrow{margin-top:11px;line-height:1.5}
.works-gallery .card-link:first-child{grid-column:1/-1}
.works-gallery .card-link:first-child .image-stage{height:auto}
.works-gallery .card-link:first-child .image-stage img{max-height:720px}
@media(max-width:1120px){.works-gallery .image-stage{height:380px}.works-gallery .image-stage img{max-height:380px}}
@media(max-width:650px){
  .hero-v5 .hero-title{padding-top:30px;padding-bottom:32px}
  .hero-v5 .hero-title h1{font-size:clamp(40px,10vw,62px);line-height:1.15;max-width:none}
  .hero-v5 .hero-title .hero-atelier{font-size:.48em;margin-bottom:8px}
  .hero-v5 .hero-intro{gap:20px;padding-top:30px}
  .works-grid.works-gallery{grid-template-columns:minmax(0,1fr);gap:38px;padding-bottom:55px}
  .works-gallery .image-stage,.works-gallery .card-link:first-child .image-stage{height:auto;min-height:0}
  .works-gallery .image-stage img,.works-gallery .card-link:first-child .image-stage img{max-height:560px}
  .works-gallery .card-title{font-size:26px}
  .works-gallery .caption{font-size:12px}
}
nav.menu a[hidden]{display:none!important}

/* Separate commission information from the image-led portfolio. */
.commandes-page .page-head,.realisations-page .page-head{padding-bottom:42px}
.commandes-page .page-head .eyebrow,.realisations-page .page-head .eyebrow{font:600 11px/1.5 var(--sans);letter-spacing:.17em;margin-top:0;margin-bottom:16px}
.commandes-page .page-head>p,.realisations-page .page-head>p{font:400 17px/1.65 var(--sans);max-width:590px}
.commandes-domains{display:grid;grid-template-columns:1fr 1.45fr;gap:65px;border-top:1px solid var(--rule);padding:42px 0 52px}
.commandes-domains .eyebrow{margin-bottom:15px}.commandes-domains h2{font-size:clamp(29px,3vw,39px);max-width:430px}
.commandes-domains .domain-list{display:grid;grid-template-columns:1fr 1fr;gap:26px 32px}
.commandes-domains .domain-list h3{font-size:23px;margin-bottom:8px}.commandes-domains .domain-list p{font-size:14px;line-height:1.65}
.commandes-method{padding-block:48px}.commandes-method .section-head{margin-bottom:28px}.commandes-method h2{font-size:clamp(29px,3vw,39px)}
.commandes-method .method-grid{list-style:none;padding:0;margin:0;gap:28px}
.commandes-method .method-step{padding-top:15px}.commandes-method .method-step .eyebrow{margin-bottom:12px}
.commandes-method .method-step h3{font-size:22px;margin-bottom:9px}.commandes-method .method-step p:not(.eyebrow){font-size:14px;line-height:1.65}
.commandes-links{padding-block:38px 54px}.commandes-links .actions{gap:14px}
.realisations-gallery{columns:2;column-gap:54px;padding-block:5px 45px}
.realisation{break-inside:avoid;margin-bottom:55px;scroll-margin-top:25px}
.realisation .image-button img{width:100%;height:auto;max-height:680px;object-fit:contain}
.realisation h2{font-size:clamp(24px,2.3vw,30px);margin-top:18px;line-height:1.25}
.realisation figcaption p{font-size:13px;line-height:1.7;color:var(--muted);margin-top:10px;max-width:620px}
.realisation figcaption p.realisation-credit{color:var(--ink);margin-top:5px}
@media(min-width:1700px){.realisations-gallery{columns:3;column-gap:38px}}
@media(max-width:900px){.commandes-domains{grid-template-columns:1fr;gap:25px}.commandes-domains h2{max-width:650px}.realisations-gallery{column-gap:32px}}
@media(max-width:650px){
 .commandes-page .page-head,.realisations-page .page-head{padding-block:34px 30px}
 .commandes-page .page-head h1{font-size:42px;max-width:520px}.realisations-page .page-head h1{font-size:42px}
 .commandes-page .page-head>p,.realisations-page .page-head>p{font-size:16px;margin-top:19px}
 .commandes-domains{padding-block:30px 36px;gap:24px}.commandes-domains h2,.commandes-method h2{font-size:29px}
 .commandes-domains .domain-list{grid-template-columns:1fr;gap:22px}.commandes-domains .domain-list h3{font-size:23px}
 .commandes-domains .domain-list p{font-size:15px}
 .commandes-method{padding-block:34px}.commandes-method .section-head{margin-bottom:24px}
 .commandes-method .method-grid{gap:21px}.commandes-method .method-step h3{font-size:23px}
 .commandes-method .method-step p:not(.eyebrow){font-size:15px}
 .commandes-links{padding-block:29px 40px}.commandes-links .actions{flex-direction:column;align-items:stretch}
 .realisations-gallery{columns:1;padding-bottom:12px}.realisation{margin-bottom:43px}
 .realisation .image-button img{max-height:74svh}.realisation h2{font-size:26px;margin-top:16px}
 .realisation figcaption p{font-size:14px}
}
@media print{.realisations-gallery{columns:2;column-gap:28px}.realisation .image-button img{max-height:360px}.realisation{margin-bottom:25px}.realisation h2{font-size:19px}.realisation figcaption p{font-size:11px}}

.home-selection .dossier-link{margin-top:20px;min-width:200px}

#realisation-plaque-mireille > .image-button{display:block;aspect-ratio:1;overflow:hidden}
#realisation-plaque-mireille > .image-button img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 46%}
.realisation-extra{margin-top:26px}
.realisation-extra > .image-button{display:block}
.realisation-extra > p{font-size:13px;line-height:1.7;color:var(--muted);margin-top:10px}
.realisation-extra > p.realisation-credit{font-size:12px;margin-top:5px}
.realisation-extra .realisation-credit a{text-decoration:none}
.realisation-extra .realisation-credit a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:650px){.realisation-extra > p{font-size:14px}.realisation-extra > p.realisation-credit{font-size:12px}}

/* Dossiers accessibles depuis chacune des réalisations. */
.realisation .dossier-link{margin-top:14px;min-height:44px;white-space:normal}
.project-page[data-project="plaque-mireille"] .detail-main > .image-button{display:block;aspect-ratio:1;overflow:hidden;max-width:720px;margin-inline:auto}
.project-page[data-project="plaque-mireille"] .detail-main > .image-button img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 46%}
.project-page .detail-head h1{overflow-wrap:anywhere}

/* Finition : lisibilité, petites largeurs et commandes tactiles. */
html{scrollbar-gutter:stable}
html.has-lightbox{overflow:hidden}
.image-button{display:block}
.page-head>div,.detail-head>div,.detail-head>.lead,.detail-description>*,.contact-layout>*,.card-title>span{min-width:0}
.page-head .eyebrow{font:600 11px/1.5 var(--sans);letter-spacing:.17em;margin-top:0;margin-bottom:18px}
.page-head h1,.detail-head h1,.realisation h2,.card-title>span{text-wrap:balance;overflow-wrap:anywhere}
.btn,.text-link,.back-link{min-height:44px;max-width:100%}
.btn{text-align:left}
.btn .arrow,.text-link .arrow,.card-title .arrow{flex-shrink:0}
.text-link{white-space:normal}
.back-link{align-items:center}
.menu-toggle{min-height:44px}
.menu a{display:flex;align-items:center;min-height:44px}
.project-related .home-selection .card-link:nth-child(2){margin-top:0}
.detail-main figcaption{align-items:baseline}
.detail-main figcaption span:last-child{flex-shrink:0}
.detail-description p.caption{font-size:13px;line-height:1.65;margin-top:24px}
.narrative>p:not(.caption){max-width:66ch}
.contact-note a{font-weight:600}
.footer-contact{align-items:flex-end}
.footer-contact a{display:inline-flex;align-items:center;min-height:36px;overflow-wrap:anywhere}
.footer-small a{display:inline-flex;align-items:center;min-height:36px}
.lightbox-top{align-items:start;position:sticky;top:0;z-index:1;background:var(--paper)}
.lightbox-close{min-height:44px;background:var(--paper)}
.lightbox img{max-height:76dvh}
.lightbox .caption{max-width:100ch}
@media(max-width:900px){
 .detail-head{grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
 .detail-head h1{max-width:22ch}
 .detail-head .lead{max-width:58ch;margin-top:0}
 .page-head{column-gap:32px}
}
@media(max-width:650px){
 .page-head h1,.detail-head h1,.artwork-detail h1{font-size:clamp(34px,9.6vw,44px);line-height:1.16}
 .detail-head{padding-block:20px 28px}
 .detail-head .lead{font-size:21px;line-height:1.5;margin-top:18px}
 .detail-head .eyebrow{font-size:10px;line-height:1.65;letter-spacing:.13em}
 .back-link{margin-top:22px}
 .detail-main figcaption,.detail-gallery figcaption,.exhibition-gallery figcaption{font-size:13px;line-height:1.6}
 .detail-main figcaption span:last-child{margin-top:8px}
 .detail-description .narrative h2{font-size:29px;line-height:1.25;margin-bottom:20px}
 .fact-list div{padding-block:12px}
 .fact-list dd{font-size:14px;line-height:1.65}
 .text-link{gap:16px}
 .footer-contact{align-items:flex-start;gap:0}
 .footer-contact a,.footer-small a{min-height:44px}
 .lightbox-top{gap:14px;line-height:1.5}
 .lightbox-close{padding-inline:12px}
}
@media(max-width:370px){
 .site-header .brand img{width:48px;height:48px;flex-basis:48px}
 .site-header .brand{gap:10px}
 .site-header .brand span{font-size:13px}
 .site-header .header-inner{gap:10px}
 .actions .btn{width:100%}
 .commandes-page .page-head h1,.realisations-page .page-head h1{font-size:36px}
}

/* Offres et accès aux œuvres, dans la grille de l’Atelier. */
.hero-first-actions{justify-content:center;margin-top:22px}.hero-first-actions .text-link{font-size:14px}
.gallery-index{display:flex;flex-wrap:wrap;gap:14px 32px;padding:0 0 42px;border-bottom:1px solid var(--rule);margin-bottom:42px}
.gallery-intro,.offer-intro{max-width:850px;margin-bottom:36px}.gallery-intro{font-size:20px;line-height:1.6}
.offers-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 54px;margin-top:35px}
.offer{display:flex;flex-direction:column;padding-block:12px 30px;border-bottom:1px solid var(--rule);min-width:0;scroll-margin-top:120px}
.offer-heading{display:grid;grid-template-columns:128px minmax(0,1fr);gap:24px;align-items:center;margin-bottom:20px}
.offer figure{margin:0;background:#eee9df;padding:6px;min-width:0}
.offer figure img{display:block;width:100%;height:128px;object-fit:contain}
.offer h2{font-size:27px;line-height:1.2;margin:0 0 12px;text-wrap:balance}.offer p{font-size:15px;line-height:1.65;margin:0 0 15px}
.offer .offer-price{color:#75563c;margin:0}.offer-price span{display:block;font-size:13px;line-height:1.5}.offer-price strong{display:block;font-size:25px;line-height:1.3;font-weight:600;white-space:nowrap}
.offer details{font-size:14px;line-height:1.65;margin:0 0 16px}.offer summary{cursor:pointer;min-height:44px;padding-block:10px;text-decoration:underline;text-underline-offset:4px}.offer details p{font-size:14px;margin-top:12px;color:var(--muted)}
.offer-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 24px;margin-top:auto}.offer-actions .text-link{font-size:14px;min-height:44px}
.offer .offer-credit{font-size:12px;color:var(--muted);margin:12px 0 0}
.budget-note{font-size:14px;line-height:1.7;max-width:850px;margin-top:26px;color:var(--muted)}
.brochure-links{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-block:44px}.brochure-links h2{font-size:31px;margin-bottom:15px}.brochure-links p{max-width:530px}.download-list{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:18px}.download-list .text-link{display:flex;justify-content:space-between;gap:18px}.download-list .caption{margin-left:auto;white-space:nowrap}
.availability-note{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-block:42px 62px}.availability-note>div:first-child{max-width:670px}.availability-note h2{font-size:31px}.availability-note .actions{flex-wrap:wrap}
.contact-context{padding:18px 20px;background:#ece5d8;border-left:2px solid #8a6c4d;margin:24px 0;font-size:16px}.contact-context strong{display:block;margin-bottom:6px}
.complementary-gallery .image-button img{max-height:350px}.realisations-page section[id],.paintings-page section[id]{scroll-margin-top:115px}
@media(max-width:1120px){.offers-grid{column-gap:30px}.offer-heading{gap:18px}.offer h2{font-size:24px}}
@media(max-width:1000px){.menu-toggle{display:flex}.menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:18px var(--space) 25px;border-bottom:1px solid var(--rule);flex-direction:column;align-items:stretch;gap:0}.menu.is-open{display:flex}.menu a{max-width:none;font-size:15px;padding-block:14px;border-bottom:1px solid var(--rule)}}
@media(max-width:760px){.offers-grid{grid-template-columns:minmax(0,1fr)}.offer-heading{gap:24px}.brochure-links{grid-template-columns:1fr;gap:22px}.availability-note{display:block}.availability-note .actions{margin-top:20px}}
@media(max-width:450px){.offer-heading{grid-template-columns:96px minmax(0,1fr);gap:18px}.offer figure img{height:108px}.offer h2{font-size:23px}.offer-price strong{font-size:24px}.offer-actions{gap:4px 20px}.gallery-index{gap:10px 22px}.download-list .text-link{flex-wrap:wrap;justify-content:flex-start;font-size:14px}.download-list .caption{margin-left:0}.hero-first-actions .text-link{font-size:13px}.brochure-links h2,.availability-note h2{font-size:28px}.works-grid{grid-template-columns:1fr}.works-grid .image-stage{height:auto;min-height:240px}.works-grid .image-stage img{max-height:460px}.works-grid .caption{font-size:13px}.works-grid .eyebrow{font-size:10px}}
