@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=DM+Mono:wght@400;500&family=Libre+Baskerville:ital@0;1&family=Roboto+Condensed:wght@400;500&display=swap');

:root{--bg:#fffef5;--ink:#211d19;--quiet:#71685e;--line:#d9d1c3;--accent:#93445f;--max:1280px}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:400 16px/1.55 "Libre Baskerville",Georgia,serif;margin:0}
.home-page{font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif}
a{color:inherit;text-decoration:none}
figure{margin:0}
.wrap{margin:auto;max-width:var(--max);padding-left:5vw;padding-right:5vw}
.nav{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;max-width:none;padding:9px 2vw 13px;position:relative}
.home-nav{justify-content:flex-end}
.brand{font-size:22px;letter-spacing:-.02em}
.menu{margin-left:auto;position:relative}
.menu summary{align-items:center;cursor:pointer;display:flex;height:25px;justify-content:center;list-style:none;width:30px}
.menu summary::-webkit-details-marker{display:none}
.menu-icon{display:grid;gap:5px;width:23px}
.menu-icon span{background:var(--quiet);display:block;height:1px;width:100%}
.menu[open] .menu-icon span:first-child{transform:translateY(3px) rotate(45deg)}
.menu[open] .menu-icon span:nth-child(2){opacity:0}
.menu[open] .menu-icon span:last-child{transform:translateY(-3px) rotate(-45deg)}
.links{background:var(--bg);border:1px solid var(--line);display:flex;flex-direction:column;gap:6px;min-width:170px;padding:12px 14px;position:absolute;right:0;text-align:right;top:calc(100% + 9px);z-index:5;font:400 10px/1 "Avenir Next Condensed","Arial Narrow",Arial,sans-serif;letter-spacing:.04em}
.menu:not([open]) .links{display:none}
.links a{color:var(--quiet)}
.links a:hover,.links a:focus-visible{color:var(--accent)}
.visually-hidden{height:1px;margin:-1px;overflow:hidden;position:absolute;width:1px;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font:12px/1.3 "DM Mono",monospace;letter-spacing:.08em;text-transform:uppercase}
.hero{padding-bottom:84px;padding-top:68px}
.event-line{color:var(--accent);margin:0 0 22px}
.hero-grid{align-items:end;display:grid;gap:42px;grid-template-columns:minmax(0,1fr) minmax(280px,.64fr)}
h1,h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;letter-spacing:-.045em;margin:0}
h1{font-size:clamp(48px,7vw,108px);line-height:.86}
h2{font-size:clamp(38px,4.4vw,64px);line-height:.95}
.hero-copy{padding-bottom:8px}
.hero-copy p{font-size:clamp(16px,1.3vw,19px);max-width:36ch}
.hero-image{aspect-ratio:4/5;border:1px solid #4b4b45;display:block;overflow:hidden}
.hero-image img{display:block;height:100%;object-fit:cover;width:100%}
.rule{border:0;border-top:1px solid var(--line);margin:0}
.section{padding-bottom:96px;padding-top:96px}
.section-grid{display:grid;gap:44px;grid-template-columns:minmax(220px,.56fr) minmax(0,1fr)}
.section-copy{margin:0;max-width:51ch}
.facts{border-top:1px solid var(--line);margin:0;padding:0}
.facts div{border-bottom:1px solid var(--line);display:grid;gap:22px;grid-template-columns:120px 1fr;padding:13px 0}
.facts dt{color:var(--quiet);font:12px/1.5 "DM Mono",monospace}
.facts dd{margin:0}
.callout{background:#f4eee4;padding:clamp(28px,5vw,64px)}
.callout p{font-size:clamp(20px,2.4vw,35px);line-height:1.3;margin:0;max-width:25ch}
.callout cite{color:var(--quiet);display:block;font:12px/1.5 "DM Mono",monospace;margin-top:28px}
.quote{margin-left:auto;max-width:43rem;text-align:right}
.quote p{font:italic 18px/1.65 "Libre Baskerville",Georgia,serif;margin:0}
.quote cite{color:var(--quiet);display:block;font:12px/1.5 "DM Mono",monospace;margin-top:22px}
.foot{border-top:1px solid var(--line);color:var(--quiet);font:11px/1.6 "Libre Baskerville",Georgia,serif;letter-spacing:.01em;padding-bottom:40px;padding-top:24px}
.foot p{margin:0;max-width:78ch}
.foot a:hover{text-decoration:underline;text-underline-offset:4px}
#contact{scroll-margin-top:24px}
#contact:target{background:#ead2cf;box-shadow:0 0 0 10px #ead2cf;color:var(--ink);outline:1px solid #b77d79}
#contact:target .contact-label{color:#743c48;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.page-intro{padding-bottom:70px;padding-top:52px}
.page-intro.compact-after{padding-bottom:32px}
.page-intro.compact-after + .section{padding-top:42px}
.page-intro.compact-after + .history{margin-top:20px}
.page-intro p{color:var(--quiet);margin:25px 0 0;max-width:50ch}
.gallery{display:grid;gap:clamp(24px,4vw,58px);grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:100px}
.work{align-items:center;display:flex;justify-content:center;min-height:190px}
.work img{display:block;max-height:520px;max-width:100%;object-fit:contain}
.work:nth-child(1),.work:nth-child(7),.work:nth-child(13){grid-column:span 2}
.work:nth-child(1) img,.work:nth-child(7) img,.work:nth-child(13) img{max-height:680px}
.note{color:var(--quiet);font:12px/1.55 "DM Mono",monospace;margin:0}
.history{border-top:1px solid var(--line);list-style:none;margin:54px 0 0;padding:0}
.history li{border-bottom:1px solid var(--line);display:grid;gap:25px;grid-template-columns:130px 1fr;padding:16px 0}
.year{color:var(--quiet);font:12px/1.55 "DM Mono",monospace}
.venue{font-size:16px}
.active{color:var(--accent)}

.artists{border-top:1px solid var(--line);margin:30px 0 0;padding:0}
.artists div{border-bottom:1px solid var(--line);padding:16px 0}
.artists h3{font:600 21px/1.2 "Cormorant Garamond",Georgia,serif;letter-spacing:-.02em;margin:0 0 6px}
.artists p{font-size:15px;margin:0;max-width:52ch}

.gallery{align-items:stretch;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}
.work{background:#f4eee4;border:1px solid transparent;min-height:0;padding:14px;position:relative}
.work:hover,.work:focus-within{border-color:var(--accent)}
.work a{align-items:center;display:flex;height:100%;justify-content:center;width:100%}
.work img{height:100%;max-height:none;max-width:100%;object-fit:contain;width:100%}
.work--seventy-five img{transform:scale(.75)}
.work--sixty-seven img{transform:scale(.67)}
.work--fifty img{transform:scale(.5)}
.work--eighty-five img{transform:scale(.85)}
.work--ninety img{transform:scale(.9)}
.rectangular-works{display:grid;gap:16px;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}
.rectangular-works .work{aspect-ratio:1474/1067}
.work--sticker-cover a{position:relative}
.work--sticker-cover a::before,.sticker-cover{background:linear-gradient(145deg,#d0b67f 0%,#9c7e56 50%,#765538 100%);content:"";display:block;position:absolute;z-index:2}
.work--sticker-cover a::before{height:1.4%;right:1.1%;top:.2%;width:2.5%}
.work:nth-child(n),.work:nth-child(n) img{grid-column:auto;max-height:none}
.work::after{bottom:8px;color:var(--quiet);content:attr(data-number);font:11px/1 "DM Mono",monospace;position:absolute;right:9px}
.work-detail{align-items:start;display:grid;gap:clamp(32px,7vw,100px);grid-template-columns:minmax(0,1fr) minmax(270px,.4fr);padding-bottom:110px}
.work-visual{align-items:center;background:#f4eee4;display:flex;justify-content:center;min-height:70vh;padding:28px;position:relative}
.sticker-cover{display:none}
.work-visual img{display:block;max-height:70vh;max-width:100%;object-fit:contain}
.work-visual img.print--full-detail{height:70vh;width:auto}
.work-visual img.print--sixty-detail{height:42vh;width:auto}
.work-visual img.print--seventy-five-detail{height:52.5vh;width:auto}
.work-meta{padding-top:12px}
.work-meta h1{font-size:clamp(42px,5vw,72px);line-height:.95}
.work-meta dl{border-top:1px solid var(--line);margin:40px 0 0}
.work-meta dl div{border-bottom:1px solid var(--line);padding:15px 0}
.work-meta dt{color:var(--quiet);font:12px/1.5 "DM Mono",monospace;margin-bottom:4px}
.work-meta dd{font-size:17px;margin:0}
.work-meta .pending{color:var(--quiet);font-style:italic}
.backlink{display:inline-block;font:12px/1.4 "DM Mono",monospace;margin-bottom:44px}
.backlink:hover{color:var(--accent)}

.landing{max-width:none;padding-bottom:18px;padding-left:2vw;padding-right:2vw;padding-top:34px}
.landing-banner{aspect-ratio:640/326;border:1px solid var(--line);overflow:hidden}
.landing-banner img{display:block;height:100%;object-fit:cover;width:100%}
.landing-detail{color:var(--quiet);font:italic 10px/1.3 "Libre Baskerville",Georgia,serif;margin:6px 0 0;text-align:right}
.landing-title{color:var(--ink);font:500 clamp(25px,2.53vw,36px)/1 "Cormorant Garamond",Georgia,serif;letter-spacing:.02em;margin:16px 0 0;text-align:center}
.home-page .landing-title,.home-page .artist-statement .statement-lead{font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;font-weight:400;letter-spacing:0}
.home-page .artist-statement p:last-child{font-size:16px;padding-top:6px}
.home-page .artist-statement{max-width:none}
.home-page .artist-statement .statement-lead{font-size:16px;line-height:1.3;max-width:none}
.home-page .artist-statement p:last-child{margin-left:auto;margin-right:auto;max-width:8in}

.botanical-gallery{display:grid;gap:clamp(30px,5vw,70px);grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:100px}
.botanical{border-top:1px solid var(--line);padding-top:18px;text-align:center}
.botanical img{display:block;height:auto;margin:auto;max-height:650px;max-width:100%;object-fit:contain}
.botanical figcaption{color:var(--quiet);font:11px/1.55 "Libre Baskerville",Georgia,serif;margin-top:12px}

.artist-statement{font-size:14px;margin:auto;max-width:51ch;text-align:center}
@media(min-width:761px){#artist-statement{padding-left:2vw;padding-right:2vw}.artist-statement{max-width:8in}.artist-statement .statement-lead{margin-left:auto;margin-right:auto;max-width:8in}}
#artist-statement.section{padding-bottom:58px;padding-top:14px}
.artist-statement p{margin:0}
.artist-statement .statement-lead{font:500 clamp(18px,2.2vw,30px)/1.18 "Cormorant Garamond",Georgia,serif;letter-spacing:-.02em;text-wrap:balance}
.artist-statement .statement-divider{color:var(--accent);font:14px/1 "DM Mono",monospace;letter-spacing:.18em;margin:28px 0}
.artist-statement p:last-child{text-align:left}
.artist-statement p.placeholder-note{color:var(--quiet);font:16px/1.55 "Libre Baskerville",Georgia,serif;text-align:center}

.print-intro{border-top:1px solid var(--line);display:grid;gap:36px;grid-template-columns:minmax(220px,.56fr) minmax(0,1fr);padding-bottom:70px;padding-top:40px}
.print-intro p{margin:0;max-width:52ch}
.print-intro .definition{color:var(--quiet)}
.print-intro--single{display:block}
.print-intro--single p{max-width:none}
.print-grid{align-items:stretch;display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:100px}
.print{background:#f4eee4;border:1px solid transparent;min-height:0;padding:14px;position:relative}
.print:hover,.print:focus-within{border-color:var(--accent)}
.print a{align-items:center;display:flex;height:100%;justify-content:center;width:100%}
.print img{height:100%;max-width:100%;object-fit:contain;width:100%}
.print--sixty img{transform:scale(.6)}
.print--seventy-five img{transform:scale(.75)}
.print::after{bottom:8px;color:var(--quiet);content:attr(data-number);font:11px/1 "DM Mono",monospace;position:absolute;right:9px}

@media(max-width:760px){.nav{align-items:center;gap:0;flex-direction:row}
.links{gap:6px;min-width:170px;right:0}
.hero{padding-top:44px}
.hero-grid,.section-grid,.work-detail,.print-intro{grid-template-columns:1fr}
.hero-image{max-width:520px}
.section{padding-bottom:68px;padding-top:68px}
.facts div{gap:6px;grid-template-columns:1fr}
.gallery,.print-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.rectangular-works{grid-template-columns:repeat(2,minmax(0,1fr))}
.history li{gap:4px;grid-template-columns:1fr}
.quote{margin-left:0;text-align:left}
.work-visual{min-height:55vh}
.work-visual img{max-height:55vh}
.work-visual img.print--full-detail{height:55vh}
.work-visual img.print--sixty-detail{height:33vh}
.work-visual img.print--seventy-five-detail{height:41.25vh}
.landing{padding-top:24px}
.landing-banner{aspect-ratio:1.5/1}
.landing-banner img{object-position:50% 45%}
.botanical-gallery{grid-template-columns:1fr}
}

@media(max-width:420px){.gallery,.print-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.work,.print{padding:9px}
}

.artwork-navigation{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-top:28px;font:12px/1.5 "DM Mono",monospace}
.artwork-navigation a:hover{text-decoration:underline;text-underline-offset:4px}
a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}

.work--seventeen img{transform:scale(.414375)}

.work--thirteen img{transform:scale(.625)}
.work--wide{padding:6px}
.work--wide a{width:100%}
.work--wide img{width:100%;height:auto;object-fit:contain;transform:none}

.work--size-11 img{transform:scale(1.08)}
.work--size-12 img{transform:scale(.804)}
.work--size-13 img{transform:scale(.75)}
.work--size-16 img{transform:scale(.75)}

/* Fit complete artworks inside a consistent detail-page viewing area. */
.work-detail{grid-template-columns:minmax(0,1fr) minmax(240px,.4fr)}
.work-visual{height:72vh;min-height:0;padding:18px;min-width:0}
.work-visual img,.work-visual img[class]{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;transform:none}
.work--sticker-cover a::before{display:none}
@media(max-width:760px){.work-detail{grid-template-columns:1fr}.work-visual{height:60vh;padding:12px}}

/* Compact detail pages keep navigation and artwork information above the fold. */
.detail-page main.page-intro{padding-top:20px;padding-bottom:24px}
.detail-page .backlink{margin-bottom:16px}
.detail-page .work-detail{gap:clamp(24px,4vw,58px);grid-template-columns:minmax(0,1fr) minmax(290px,.55fr);padding-bottom:24px}
.detail-page .work-meta{padding-top:0}
.detail-page .artwork-navigation{margin:0 0 12px;gap:12px}
.detail-page .work-meta .event-line{margin:0 0 8px}
.detail-page .work-meta h1{font-size:clamp(30px,3.4vw,48px);line-height:1.04}
.detail-page .work-meta dl{margin-top:16px}
.detail-page .work-meta dl div{padding:8px 0}
.detail-page .work-meta dt{margin-bottom:2px;font-size:11px}
.detail-page .work-meta dd{font-size:15px;line-height:1.4}
.detail-page .work-visual{height:calc(100svh - 150px);max-height:680px;min-height:300px;padding:12px}
@media(max-width:760px){.detail-page .work-detail{grid-template-columns:1fr}.detail-page .work-meta{grid-row:1}.detail-page .work-visual{height:60svh}}

/* Review reference numbers are retained in data-number attributes for later use. */
.work::after,.print::after{display:none}

/* Always-visible navigation for easy discovery at all screen sizes. */
.nav,.home-nav{align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:4px;padding:10px 2vw}
.nav .brand{font-size:22px;line-height:1.3}
.nav .links{position:static;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:2px 24px;min-width:0;border:0;padding:0;text-align:left;font:500 17px/1.35 "Avenir Next","Helvetica Neue",Arial,sans-serif;letter-spacing:0}
.nav .links a{color:var(--ink);display:inline-flex;align-items:center;min-height:44px;padding:4px 0;text-underline-offset:5px}
.nav .links a:hover,.nav .links a:focus-visible,.nav .links a[aria-current="page"]{color:var(--accent);text-decoration:underline}
@media(max-width:760px){.nav,.home-nav{flex-direction:column;align-items:flex-start}.nav .links{gap:0 20px;font-size:16px}}

/* Quiet, compact list matching the former expanded hamburger menu. */
.nav,.home-nav{align-items:flex-start;gap:6px;padding:12px 2vw;border-bottom:0}
.nav .links{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0;padding:0;font:400 12px/1.45 "Avenir Next","Helvetica Neue",Arial,sans-serif;letter-spacing:.02em}
.nav .links a{min-height:0;padding:3px 0;color:var(--quiet);font-weight:400}
.nav .links a:hover,.nav .links a:focus-visible,.nav .links a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.nav .links{font-size:12px;gap:0}}

/* Small condensed navigation, tightly set at the upper right. */
.nav,.home-nav{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;padding:8px 2vw;gap:8px}
.home-nav{justify-content:flex-end}
.nav .links{margin-left:auto;align-items:flex-end;gap:0;padding:0;font:400 10px/1.12 "Roboto Condensed","Avenir Next Condensed","Arial Narrow",Arial,sans-serif;letter-spacing:.03em;text-align:right}
.nav .links a{min-height:0;padding:1px 0;font-size:10px;line-height:1.12}
@media(max-width:760px){.nav,.home-nav{flex-direction:row;align-items:flex-start}.nav .links{align-items:flex-end;font-size:10px;gap:0}}

/* Consistent artist signature and compact page starts. */
.nav .brand{font:400 clamp(20px,2.53vw,36px)/1 "Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;letter-spacing:0;margin:0;white-space:nowrap}
.nav,.home-nav{justify-content:space-between;padding-top:6px;padding-bottom:0}
.landing{padding-top:2px}
.page-intro{padding-top:8px}
.detail-page main.page-intro{padding-top:6px}
.detail-page .backlink{margin-bottom:8px}
@media(max-width:760px){.landing{padding-top:2px}.page-intro{padding-top:8px}.detail-page main.page-intro{padding-top:6px}}

/* Place the artist's name immediately above the content, alongside the menu's last line. */
.nav .brand{align-self:flex-end}
.about-contact{margin-top:30px}
.about-contact h2{font:400 22px/1.3 "Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;letter-spacing:0}
.about-contact p{margin-top:12px;line-height:1.8}
.about-contact a{text-decoration:underline;text-underline-offset:3px}

/* Match collection-page title positions to the Giclée Prints heading. */
main > section.page-intro:not(:has(> .eyebrow)) > h1{margin-top:41px}
.selected-intro > p{max-width:none}

/* Consistent page dividers sit close beneath their introduction. */
main > section.page-intro{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px}
main > section.page-intro + .print-intro{border-top:0;padding-top:0}
main > section.page-intro + .history{border-top:0;margin-top:0}
main > section.page-intro.compact-after + .history{margin-top:0}
.home-page #artist-statement{border-bottom:1px solid var(--line);padding-bottom:20px}
.home-page .foot{border-top:0}

.prints-page .print-intro{border-top:0;padding-bottom:46px}
.prints-page .page-intro{border-top:0}

/* Keep a single divider before botanical works and before the contact footer. */
.botanical-gallery .botanical{border-top:0;padding-top:0}
.about-contact-page main > section.page-intro{border-bottom:0}

/* October 30 review adjustments. */
.work--seventeen img{transform:scale(.580125)}
.work--size-16 img{transform:scale(1.05)}
.work--size-12{padding:6px}
.work--size-12 img{transform:none;width:100%;height:100%;object-fit:contain}
.botanical-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1000px;margin:0 auto;padding-bottom:50px}
.botanical-gallery .botanical{margin:0;background:#f4eee4;padding:14px}
.botanical-gallery .botanical a{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1}
.botanical-gallery .botanical img{width:100%;height:100%;max-height:260px;object-fit:contain}
@media(max-width:600px){.botanical-gallery{gap:8px}.botanical-gallery .botanical{padding:6px}.botanical-gallery figcaption{font-size:10px}.botanical-gallery .botanical a{aspect-ratio:3/4}}

/* Selected Works sizing review, October 31. */
.work--size-16 img{transform:scale(.84)}
.work--seventy-five img{transform:scale(.825)}

/* Group giclées by orientation; landscapes have wider frames. */
.print-grid--landscape{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px}
.print-grid--landscape .print{aspect-ratio:4/3;padding:10px}
.print-grid--landscape .print img{width:100%;height:100%;object-fit:contain;transform:none}
@media(max-width:600px){.print-grid--landscape{grid-template-columns:repeat(2,minmax(0,1fr))}}

.giclee-review .print::after{display:block;background:rgba(255,254,246,.9);padding:3px 5px;font-size:13px;color:#333}

/* Keep giclée sections at the same spacing as gallery rows. */
.prints-page .print-grid{padding-bottom:16px;margin-top:0}
.prints-page .print-grid:last-of-type{padding-bottom:40px}
/* Size Mopsy directly rather than resampling a transformed thumbnail. */
.work--size-16 img{transform:none;width:84%;height:84%}

/* Consistent compact mobile menu, with no extra space between lines. */
@media(max-width:760px){
 .nav,.home-page .home-nav{position:relative;display:block;padding-top:10px;padding-bottom:8px;margin-bottom:124px}
 .nav .links,.home-page .home-nav .links{position:absolute;z-index:5;right:2vw;top:calc(100% + 6px);display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:5px 12px;background:rgba(255,254,246,.80);border:1px solid var(--line);max-width:190px}
 .nav .links a,.home-page .home-nav .links a{display:block;min-height:0;margin:0;padding:0;font-size:16px;line-height:1.15;text-align:right}
 .home-page .home-nav{margin-bottom:0}
}

/* Artist statement and biography side by side on the home page. */
.home-page .artist-statement .home-biography-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;max-width:1100px;margin:0 auto;text-align:left}
.home-page .artist-statement .home-biography-columns p{margin:0;padding:0;max-width:none;font-size:16px;line-height:1.55;text-align:left}
@media(max-width:700px){.home-page .artist-statement .home-biography-columns{grid-template-columns:1fr;gap:24px}}
