:root{--ink:#171717;--paper:#fafafa;--accent:#edff3f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #616400;outline-offset:5px}.wrap{max-width:1600px;margin:auto;padding:0 5vw}header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 0;border-bottom:1px solid #c9c9c9}.brand{font-weight:900;font-size:21px;letter-spacing:-1px}nav{display:flex;gap:30px;font-size:14px}nav a:hover{text-decoration:underline}.intro{padding:55px 0 25px}.eyebrow{text-transform:uppercase;font-size:13px;letter-spacing:2px;font-weight:700}.intro h1{font-size:clamp(54px,9.3vw,145px);line-height:.94;letter-spacing:-.065em;margin:24px 0 28px;font-weight:900}.intro h1 span{display:block}.intro-bottom{display:flex;justify-content:space-between;align-items:end;gap:25px}.intro-bottom p{max-width:410px;margin:0;font-size:18px}.intro-bottom a{border-bottom:1px solid;padding-bottom:6px;font-size:14px}.hero-work{margin:35px 0 70px}.hero-work button{background:#151515;width:100%;border:0;padding:24px;cursor:zoom-in;display:block}.hero-work img{width:100%;height:min(62vw,690px);object-fit:contain;display:block}.caption{display:flex;justify-content:space-between;gap:15px;margin-top:12px;font-size:14px}.section-head{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #bbb;padding-top:24px;margin-bottom:30px}.section-head h2{font-size:38px;letter-spacing:-1.8px;margin:0}.section-head span{font-size:14px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 25px}.art{margin:0}.art button{width:100%;padding:0;border:0;background:#eee;cursor:zoom-in;overflow:hidden}.art img{width:100%;aspect-ratio:1;object-fit:contain;display:block;transition:transform .3s}.art button:hover img{transform:scale(1.025)}.art h3{font-size:16px;font-weight:600;line-height:1.4;margin:14px 0 5px}.art p{font-size:14px;color:#555;margin:0}.about{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center;margin:110px 0}.about img{width:100%;max-height:650px;object-fit:cover;object-position:center 30%}.about h2{font-size:clamp(38px,4.2vw,66px);letter-spacing:-.04em;line-height:1.06;margin:22px 0}.about p{font-size:18px;max-width:540px;color:#444}.contact{background:var(--ink);color:white;padding:65px 5vw;margin-top:50px}.contact-inner{max-width:1440px;margin:auto}.contact h2{font-size:clamp(45px,6vw,90px);letter-spacing:-.05em;line-height:1.05;max-width:800px;margin:25px 0}.contact p{color:#ccc;max-width:520px;font-size:18px}.cta{display:inline-block;background:var(--accent);color:var(--ink);padding:17px 24px;margin-top:18px;font-weight:700}.cta:hover{background:white}footer{display:flex;justify-content:space-between;gap:20px;padding:25px 5vw;font-size:13px}dialog{border:0;padding:55px 24px 25px;background:#111;color:white;max-width:96vw;width:1200px;max-height:96vh}dialog::backdrop{background:#000c}dialog img{width:100%;height:70vh;object-fit:contain}dialog .close{position:absolute;right:20px;top:10px;background:none;color:white;border:0;padding:8px;cursor:pointer}dialog p{margin:14px 0 0}dialog a{text-decoration:underline;font-size:14px}.skip{position:absolute;left:10px;top:-100px}.skip:focus{top:5px;background:white;padding:10px;z-index:9}@media(max-width:700px){header{padding:20px 0}.brand{font-size:18px}nav{gap:15px;font-size:13px}.intro{padding-top:40px}.intro-bottom{align-items:start;flex-direction:column}.intro-bottom p{font-size:16px}.hero-work{margin-bottom:50px}.hero-work button{padding:12px}.hero-work img{height:64vw}.caption{font-size:12px}.section-head h2{font-size:30px}.gallery{grid-template-columns:minmax(0,1fr);gap:32px}.art h3{font-size:14px}.art p{font-size:13px}.about{grid-template-columns:1fr;gap:25px;margin:65px 0}.about img{max-height:460px}.about p{font-size:16px}footer{flex-direction:column;gap:6px}dialog img{height:65vh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.art img{transition:none}}
.jackets{margin-top:100px;padding:55px 0;border-top:1px solid #bbb;border-bottom:1px solid #bbb}.jacket-intro{display:grid;grid-template-columns:1.6fr 1fr;align-items:end;gap:45px;margin:25px 0 42px}.jacket-intro h2{font-size:clamp(38px,5.5vw,84px);line-height:1.03;letter-spacing:-.055em;margin:0}.jacket-intro p{font-size:18px;max-width:380px;margin:0;color:#444}.jacket-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 25px}.jacket-gallery img{aspect-ratio:4/5;object-fit:contain;background:#eee}.jacket-end{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:40px}.jacket-end p{font-size:18px}.jacket-end a{border-bottom:1px solid;padding:6px 0;white-space:nowrap}@media(max-width:700px){header{flex-wrap:wrap;gap:15px}nav{width:100%;justify-content:space-between;font-size:14px}.jackets{margin-top:60px;padding:35px 0}.jacket-intro{grid-template-columns:1fr;gap:24px}.jacket-intro p{font-size:16px}.jacket-gallery{grid-template-columns:minmax(0,1fr);gap:28px}.jacket-end{align-items:start;flex-direction:column;gap:5px}.jacket-end p{font-size:16px}}

/* Square painting previews; the dialog retains the complete original image. */
.gallery .art button{display:block;aspect-ratio:1 / 1}
.gallery .art img{width:100%;height:100%;aspect-ratio:1 / 1;object-fit:cover;object-position:center}

.artist-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.about .artist-photos img{display:block;width:100%;height:auto;aspect-ratio:3 / 4;max-height:none;object-fit:cover;object-position:center 30%}.artist-photos .artist-at-work{margin-top:0}@media(max-width:1100px){.artist-photos{grid-template-columns:minmax(0,1fr);gap:24px}}
.artist-moments{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:44px}.artist-moments button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden}.artist-moments img{display:block;width:100%;height:100%;aspect-ratio:4 / 5;object-fit:cover;transition:transform .45s ease}.artist-moments button:hover img,.artist-moments button:focus-visible img{transform:scale(1.025)}@media(max-width:800px){.artist-moments{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:30px}}@media(max-width:480px){.artist-moments{grid-template-columns:minmax(0,1fr);gap:16px}}

.jacket-gallery .art button{display:block;aspect-ratio:1 / 1}.jacket-gallery .art img{width:100%;height:100%;aspect-ratio:1 / 1;object-fit:cover;object-position:center}.jacket-panorama{margin:0 0 42px}.jacket-panorama img{display:block;width:100%;height:auto}.jacket-process{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;margin:70px 0 0}.jacket-process img{display:block;width:100%;height:auto}.jacket-process h3{font-size:clamp(32px,3.5vw,54px);line-height:1.08;letter-spacing:-.04em;margin:22px 0}.jacket-process p{font-size:18px;color:#444;max-width:400px}@media(max-width:700px){.jacket-panorama{margin-bottom:28px}.jacket-process{grid-template-columns:1fr;gap:25px;margin-top:45px}.jacket-process p{font-size:16px}}

.intro-bottom .technique{display:block;margin-top:14px;font-size:14px;color:#555}


/* Short desktop reveal; mobile stays in normal document flow. */
.hero-parallax{height:95vh;position:relative;margin:24px 0 28px}
.hero-parallax button{position:sticky;top:12vh;height:55vh;width:100%;padding:0;overflow:hidden;background:#171717}
.hero-parallax img{position:absolute;top:0;left:0;width:100%;height:auto;min-height:100%;object-fit:cover;transform:translate3d(0,var(--hero-offset,0px),0)}
@media(max-width:700px),(prefers-reduced-motion:reduce){
.hero-parallax{height:auto;margin:24px 0}
.hero-parallax button{position:relative;top:auto;height:auto;padding:0}
.hero-parallax img{position:relative;width:100%;height:auto;min-height:0;transform:none}
}

.instagram-icon{display:inline-block;vertical-align:-.2em;margin-left:.35em;flex-shrink:0}
@media(max-width:700px){#oeuvres .section-head{flex-direction:column;align-items:flex-start;gap:8px}}

.about .artist-video{display:block;width:100%;height:auto;aspect-ratio:2 / 3;object-fit:contain;background:#171717;margin:24px 0}

/* Artist: biography left, stacked portraits right, full-width video below. */
#artiste{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);column-gap:7vw;row-gap:48px;align-items:start}
#artiste .artist-bio p{max-width:none}
#artiste .artist-photos{grid-template-columns:minmax(0,1fr);gap:20px}
#artiste .artist-video{grid-column:1 / -1;width:100%;height:auto;aspect-ratio:2 / 3;object-fit:contain;background:transparent;margin:0}
@media(max-width:700px){#artiste{grid-template-columns:minmax(0,1fr);row-gap:30px}}

/* Full-width mobile video, with no player overlay or hover interaction. */
#artiste .artist-video{min-width:0;max-width:none;pointer-events:none}
#artiste .artist-video::-webkit-media-controls{display:none!important}
@media(max-width:700px){#artiste .artist-photos,#artiste .artist-video{width:100%;min-width:0;max-width:none;justify-self:stretch}#artiste .artist-video{height:auto;margin:0;padding:0;border:0}}

/* Match the portrait column on desktop and center below the biography. */
@media(min-width:701px){#artiste .artist-video{width:calc((100% - 7vw) / 2.4);justify-self:center}}
