/*
Theme Name: Jeff Cowen Light
Description: Minimal, responsive artwork catalogue using the existing WordPress pages.
Version: 0.16.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: jeff-cowen-light
*/
:root{--ink:#171717;--muted:#666;--paper:#fff;--line:#ddd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.55 Arial,Helvetica,sans-serif}a{color:inherit}a:hover{text-decoration-color:var(--muted)}img{max-width:100%;height:auto}button,input,textarea{font:inherit}button{cursor:pointer}.skip-link{position:absolute;top:-5rem;left:1rem;background:#fff;padding:.5rem;z-index:100}.skip-link:focus{top:1rem}:focus-visible{outline:2px solid #111;outline-offset:4px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:28px clamp(20px,4vw,70px);border-bottom:1px solid transparent}.brand{text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:19px;white-space:nowrap}.site-nav{display:flex;gap:clamp(12px,2.4vw,38px);align-items:center}.site-nav a{text-decoration:none;font-size:13px}.site-nav a:hover,.site-nav .current{text-decoration:underline;text-underline-offset:5px}.menu-toggle{display:none;border:0;background:none;padding:7px}.site-footer{margin-top:6rem;padding:3rem clamp(20px,4vw,70px);color:var(--muted);font-size:11px;text-transform:uppercase}.site-footer a{text-decoration:none}.page-shell{width:min(1100px,calc(100% - 40px));margin:3rem auto}.page-shell h1{font-size:clamp(25px,3vw,40px);font-weight:400;letter-spacing:-.025em;margin:0 0 2.5rem}.series-nav{display:flex;flex-wrap:wrap;gap:.4rem 1.3rem;margin:1rem 0 3rem}.series-nav a{font-size:13px;text-decoration:none;color:#555}.series-nav .current{color:#111;text-decoration:underline;text-underline-offset:4px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,5vw,100px) clamp(20px,5vw,90px);align-items:start}.work-card{margin:0}.work-card button{border:0;padding:0;width:100%;background:transparent;text-align:left}.work-card img{display:block;width:100%;height:auto;max-height:72vh;object-fit:contain;object-position:left center}.work-card figcaption{margin-top:.8rem;font-size:12px;color:#555;line-height:1.5}.home-view{width:min(1350px,calc(100% - 40px));margin:1rem auto 5rem}.home-image{display:block;width:100%;height:min(74vh,860px);object-fit:contain}.home-rail{display:flex;gap:.8rem;justify-content:center;margin:1.2rem 0}.home-rail button{width:8px;height:8px;border-radius:50%;border:1px solid #333;background:transparent;padding:0}.home-rail button[aria-current=true]{background:#222}.home-controls{display:flex;justify-content:space-between;margin:.8rem auto;max-width:320px}.home-controls button,.viewer-controls button{border:0;background:transparent;padding:.5rem}.content{max-width:900px;margin:auto}.content h2{font-size:21px;font-weight:400}.content p{max-width:75ch}.content .wp-block-columns{display:flex;gap:3rem}.content .wp-block-column{min-width:0;flex:1}.content .wp-block-image{margin:0 0 2rem}.content .wp-block-image img{height:auto}.content .wp-block-cover{min-height:40vh}.content .wp-block-cover__image-background{position:absolute;width:100%;height:100%;object-fit:cover}.content .wp-block-cover{position:relative;display:flex;align-items:center;justify-content:center}.content .wp-block-cover__inner-container{position:relative}.content a{overflow-wrap:anywhere}.viewer[hidden]{display:none}.viewer{position:fixed;inset:0;z-index:30;background:#fff;display:flex;flex-direction:column;padding:12px clamp(12px,3vw,35px)}.viewer-top{display:flex;justify-content:space-between;align-items:center}.viewer-image-wrap{flex:1;min-height:0;display:grid;place-items:center}.viewer-image{max-height:calc(100vh - 160px);max-width:100%;object-fit:contain}.viewer-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem}.viewer-caption{max-width:70ch;font-size:12px;color:#444;text-align:center}.contact-form{max-width:540px;display:grid;gap:1rem}.contact-form label{display:grid;gap:.3rem}.contact-form input,.contact-form textarea{width:100%;border:1px solid #888;padding:.65rem;background:#fff}.contact-form button{justify-self:start;background:#111;color:#fff;border:0;padding:.7rem 1.5rem}.notice{padding:.7rem;border:1px solid #aaa}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.site-header{flex-wrap:wrap;padding:20px}.menu-toggle{display:block}.site-nav{display:none;flex-basis:100%;flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem 0}.site-nav.is-open{display:flex}.gallery{grid-template-columns:1fr;gap:2.5rem}.work-card img{max-height:78vh}.page-shell{margin:2rem auto}.content .wp-block-columns{display:block}.home-image{height:68vh}.site-footer{margin-top:4rem}}
/* Original image-first layout */
.site-header{height:72px;padding:0 clamp(20px,4.4vw,72px)}.site-footer{margin-top:2rem}.home-view{width:min(1140px,calc(100% - 48px));margin:34px auto 0}.home-image{display:block;width:100%;height:534px;max-height:calc(100svh - 160px);object-fit:contain}.series-layout{max-width:1140px;margin:34px auto 0;display:grid;grid-template-columns:300px minmax(0,1fr);gap:42px}.series-list{display:flex;flex-direction:column;align-items:flex-start;gap:0}.series-list a{display:block;color:#777;text-decoration:none;font-size:22px;line-height:1;letter-spacing:-.06em;min-height:22px}.series-list a:hover,.series-list .current{color:#141414}.series-list a:last-child{margin-top:22px}.series-art{min-width:0}.single-gallery{position:relative;width:100%}.single-stage{position:relative;height:555px;display:flex;justify-content:center;align-items:center}.single-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.slide-arrow{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:0;font:300 35px/1 Arial,sans-serif;color:#111;padding:10px;z-index:2}.slide-arrow.previous{left:-30px}.slide-arrow.next{right:-30px}.slide-caption{text-align:center;font-size:12px;font-weight:300;margin:7px 0 0}.cover-page{position:relative;min-height:100svh;margin-top:24px;overflow:hidden}.cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover-content{position:relative;z-index:1}.works-cover .series-list{padding:clamp(60px,14vh,190px) clamp(32px,5.3vw,90px)}.works-cover .series-list a{font-size:29px;line-height:1.32;min-height:38px;color:#fff;text-shadow:0 1px 6px #333}.works-cover .series-list a:hover{color:#ddd}.works-cover .series-list a:last-child{margin-top:25px}.contact-cover{min-height:784px;display:flex;align-items:center;justify-content:center}.contact-panel{position:relative;z-index:1;background:rgba(255,255,255,.86);padding:30px;width:min(540px,calc(100% - 40px))}.contact-panel p{margin-top:0}.contact-panel .contact-form{gap:.65rem}.contact-panel input,.contact-panel textarea{background:rgba(255,255,255,.8)}@media(max-width:850px){.series-layout{margin:24px auto;width:calc(100% - 40px);grid-template-columns:170px minmax(0,1fr);gap:20px}.series-list a{font-size:16px;min-height:22px}.single-stage{height:min(65svh,555px)}.works-cover .series-list a{font-size:clamp(18px,3vw,29px)}}@media(max-width:600px){.site-header{height:auto;min-height:64px}.series-layout{display:block}.series-layout .series-list{display:flex;flex-direction:row;gap:8px 14px;flex-wrap:wrap;margin-bottom:15px}.series-layout .series-list a{font-size:14px;min-height:auto;line-height:1.4}.series-layout .series-list a:last-child{margin-top:0}.single-stage{height:62svh}.slide-arrow.previous{left:0}.slide-arrow.next{right:0}.home-view{width:calc(100% - 20px);margin:10px auto}.home-image{height:calc(100svh - 145px);max-height:none}.cover-page{margin-top:0}.works-cover .series-list{padding:75px 25px}.works-cover .series-list a{font-size:22px;min-height:34px}.contact-cover{min-height:calc(100svh - 64px)}.contact-panel{padding:18px}}

/* Live-site visual alignment, measured at 1363px viewport */
@font-face{font-family:Inter;src:url(assets/inter-latin.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
body{font-family:Inter,Arial,sans-serif}.site-header{padding-left:max(20px,calc((100% - 1160px)/2));padding-right:max(20px,calc((100% - 1160px)/2))}.brand{font-size:28px;font-weight:600;letter-spacing:normal;text-transform:none}.site-nav{gap:24px}.site-nav a{font-size:16px;font-weight:500}.site-footer{height:65px;margin-top:24px;padding:22px max(20px,calc((100% - 1160px)/2));font-size:13px;font-weight:600;color:#111}.series-layout{grid-template-columns:300px minmax(0,1fr);gap:42px;padding-left:26px}.series-list a{letter-spacing:-1.3px;font-weight:400}.single-stage{max-width:781px}.single-stage img{max-width:100%;max-height:100%}.works-cover .series-list{padding:200px max(32px,calc((100% - 1205px)/2)) 50px}.works-cover .series-list a{font-size:24px;line-height:1.6;min-height:38.4px;letter-spacing:normal}.contact-cover{min-height:817px;justify-content:initial;align-items:initial}.contact-panel{width:min(1160px,calc(100% - 40px));max-width:none;margin:108px auto 0;padding:0;background:transparent}.contact-panel p{color:#fff}.contact-panel p:first-of-type{font-size:26px;margin:0 0 16px}.contact-panel p:nth-of-type(2){font-size:20px;margin:0 0 42px}.contact-panel .contact-form{max-width:696px;grid-template-columns:1fr 1fr;gap:16px 24px}.contact-form label{color:#fff}.contact-form label:nth-of-type(3){grid-column:1 / -1}.contact-panel .contact-form input{height:65px}.contact-panel .contact-form textarea{height:200px;background:#fff}.contact-panel .contact-form button{grid-column:1 / -1}.contact-panel .notice{color:#fff}@media(max-width:850px){.site-header{padding:0 20px}.series-layout{padding-left:0}.works-cover .series-list{padding-left:32px}}@media(max-width:600px){.brand{font-size:22px}.site-nav a{font-size:15px}.series-layout{width:calc(100% - 40px)}.works-cover .series-list{padding:70px 24px}.works-cover .series-list a{font-size:21px;line-height:1.45;min-height:31px}.contact-panel{margin:65px auto 0}.contact-panel .contact-form{grid-template-columns:1fr}.contact-form label:nth-of-type(3){grid-column:auto}.contact-panel p:first-of-type{font-size:20px}.contact-panel p:nth-of-type(2){font-size:16px;margin-bottom:22px}.contact-panel .contact-form input{height:48px}}

/* Preserve the original publications and CV proportions */
.page-shell--publications{width:100%;max-width:none;margin:24px auto 0}.page-shell--publications .content{max-width:none}.page-shell--publications .wp-block-group.alignwide{width:100%;max-width:none}.page-shell--publications .wp-block-columns{justify-content:center;gap:clamp(35px,13vw,172px)}.page-shell--publications .wp-block-column{flex:0 1 386px}.page-shell--publications .wp-block-columns img{max-width:100%}.page-shell--cv-bio{width:min(930px,calc(100% - 40px));margin:65px auto 0}.page-shell--cv-bio .content{max-width:none;font-size:19.76px;line-height:1.6}.page-shell--cv-bio .content p{max-width:none;margin:0 0 20px}@media(max-width:700px){.page-shell--publications .wp-block-columns{display:block}.page-shell--publications .wp-block-column{margin:0 auto 25px;max-width:480px}.page-shell--cv-bio{margin-top:35px}.page-shell--cv-bio .content{font-size:16px}}

/* Larger imagery and compact series index */
@font-face{font-family:Roboto;src:url(assets/roboto-latin.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
.slide-caption{font-family:Roboto,sans-serif;font-size:12px;font-weight:100}.series-layout{max-width:none;width:calc(100% - 80px);grid-template-columns:180px minmax(0,1fr);gap:20px;padding-left:0;margin:24px auto 0}.series-list a{font-size:16px;font-weight:600;line-height:1.35;min-height:24px;letter-spacing:-.035em}.series-art .single-stage{max-width:none;height:calc(100svh - 170px);min-height:480px}.single-stage img{width:100%;height:100%;object-fit:contain}.series-art .slide-arrow.previous{left:0}.series-art .slide-arrow.next{right:0}.wide-detail{width:100%;margin:24px auto 0}.wide-detail .single-stage{width:100%;max-width:none;height:clamp(560px,70svh,900px)}.wide-detail .single-stage img{width:100%;height:100%;object-fit:cover}.wide-detail .slide-arrow.previous{left:16px}.wide-detail .slide-arrow.next{right:16px}.home-view{width:100%;max-width:none;margin:24px auto 0}.home-image{width:100%;height:calc(100svh - 160px);max-height:none;object-fit:cover}@media(max-width:850px){.series-layout{width:calc(100% - 32px);grid-template-columns:130px minmax(0,1fr);gap:12px}.series-list a{font-size:14px;min-height:22px}.series-art .single-stage{min-height:380px;height:calc(100svh - 160px)}}@media(max-width:600px){.series-layout{display:block}.series-layout .series-list{flex-direction:row;flex-wrap:wrap;gap:7px 12px}.series-layout .series-list a{font-size:13px;min-height:auto}.series-art .single-stage{min-height:0;height:calc(100svh - 210px)}.home-view{margin:8px auto 0}.home-image{height:calc(100svh - 120px)}.wide-detail{margin:8px auto 0}.wide-detail .single-stage{height:calc(100svh - 145px);min-height:420px}}

/* Requested refinements */
.brand{text-transform:uppercase}.page-shell--publications .content{width:min(1160px,calc(100% - 40px));max-width:none;margin-inline:auto}.page-shell--publications .wp-block-group.alignwide{max-width:100%}@media(max-width:700px){.page-shell--publications .content{width:calc(100% - 24px)}}

/* Center Publications as a two-column unit; preserve the source content. */
.page-shell--publications .wp-block-columns{display:grid;grid-template-columns:repeat(2,minmax(0,386px));justify-content:center;gap:60px}.page-shell--publications .wp-block-column:first-child{display:none}.page-shell--publications .wp-block-column:nth-child(3) figure{margin-left:auto;margin-right:0}
/* W-Series keeps its distinct source-page grid. */
.w-series-page{width:min(1140px,calc(100% - 40px));margin:24px auto 0}.w-series-page h1{font-size:22px;font-weight:600;line-height:1;margin:0 0 5px}.w-series-page h2{font-size:16px;font-weight:400;line-height:1;margin:0 0 22px}.w-series-links{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:24px}.w-series-links a{font-size:16px;line-height:24px;text-decoration:none;color:#777}.w-series-links a:hover{color:#111}.w-series-links a:last-child{margin-top:22px}.w-series-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;align-items:start}.w-series-grid figure{margin:0;min-width:0}.w-series-grid a{display:block}.w-series-grid img{display:block;width:100%;height:auto;aspect-ratio:40/53;object-fit:cover}.grid-dialog{width:min(95vw,1200px);max-height:95svh;border:0;padding:12px 20px 15px;background:#fff}.grid-dialog::backdrop{background:rgba(0,0,0,.85)}.grid-dialog img{display:block;max-width:100%;max-height:calc(95svh - 115px);margin:auto;object-fit:contain}.grid-dialog p{text-align:center;font:100 12px Roboto,sans-serif;margin:7px}.grid-close{display:block;margin-left:auto;background:none;border:0;padding:5px}.grid-controls{display:flex;justify-content:space-between}.grid-controls button{background:none;border:0;padding:8px}@media(max-width:900px){.w-series-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.page-shell--publications .wp-block-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}@media(max-width:700px){.page-shell--publications .wp-block-columns{display:block}.page-shell--publications .wp-block-column:nth-child(3) figure{margin:0 auto}.w-series-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.w-series-page h2{line-height:1.35}}

/* Full artwork proportions; original three-column landscape sections. */
.w-series-gallery{display:grid;gap:24px}.w-series-grid img{height:auto;aspect-ratio:auto;object-fit:contain}.w-series-grid.landscape-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.w-series-grid.landscape-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.w-series-grid.landscape-grid{grid-template-columns:1fr}.w-series-gallery{gap:12px}}

/* CV and biography */
.cv-page{width:min(1100px,calc(100% - 40px));margin:55px auto 110px}.cv-intro h1{font-weight:400;font-size:clamp(28px,3.2vw,40px);line-height:1.2;margin:0 0 22px}.cv-nav{display:flex;flex-wrap:wrap;gap:10px 26px;padding-bottom:35px}.cv-nav a{font-size:13px;text-decoration:none;border-bottom:1px solid #bbb}.cv-nav a:hover{border-color:#111}.cv-section{border-top:1px solid #d9d9d9;padding:32px 0 55px;scroll-margin-top:30px}.cv-section h2{font-size:13px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;margin:0 0 32px}.cv-prose{width:min(760px,100%)}.cv-prose p{font-size:17px;line-height:1.75;margin:0 0 23px}.cv-entries{width:min(890px,100%)}.cv-entry{display:grid;grid-template-columns:110px minmax(0,1fr);gap:30px;margin-bottom:24px}.cv-entry h3{font-size:15px;font-weight:500;line-height:1.55;margin:0;color:#555}.cv-details p{font-size:15px;line-height:1.6;margin:0 0 8px}.cv-details em,.cv-details i{font-style:italic}@media(max-width:650px){.cv-page{margin:30px auto 70px}.cv-nav{gap:8px 17px}.cv-section{padding:25px 0 35px}.cv-entry{display:block;margin-bottom:23px}.cv-entry h3{margin-bottom:5px}.cv-prose p{font-size:16px}}

.cv-title-space{height:70px}.cv-biography{border-top:0}@media(max-width:650px){.cv-title-space{height:58px}}

.menu-toggle{color:#111;appearance:none;-webkit-appearance:none;border:0;background:transparent;line-height:0}.menu-bars{display:flex;flex-direction:column;justify-content:space-between;width:23px;height:17px}.menu-bars span{display:block;width:23px;height:2px;background:#111;border-radius:1px}

/* Four-size type scale. Keep the established fonts, weights, and spacing. */
:root{--type-brand:28px;--type-heading:22px;--type-body:16px;--type-small:13px}
body{font-size:var(--type-body)}
.brand{font-size:var(--type-brand)}
.page-shell h1,.content h1,.content h2,.w-series-page h1,.cv-intro h1{font-size:var(--type-heading)}
.content h3,.content h4,.content h5,.content h6,
.site-nav a,.series-list a,.series-nav a,.w-series-page h2,.w-series-links a,
.cv-prose p,.cv-entry h3,.cv-details p{font-size:var(--type-body)}
.works-cover .series-list a,.contact-panel p:first-of-type{font-size:var(--type-heading)}
.contact-panel p:nth-of-type(2),.page-shell--cv-bio .content{font-size:var(--type-body)}
.site-footer,.work-card figcaption,.viewer-caption,.slide-caption,.grid-dialog p,
.cv-nav a,.cv-section h2{font-size:var(--type-small)}
@media(max-width:850px){.series-list a,.works-cover .series-list a{font-size:var(--type-body)}}
@media(max-width:600px){.brand{font-size:var(--type-heading)}.site-nav a{font-size:var(--type-body)}.series-layout .series-list a{font-size:var(--type-small)}.works-cover .series-list a,.contact-panel p:first-of-type{font-size:var(--type-heading)}}

/* WordPress blocks can carry inline sizes and theme-dependent presets. */
.content :is(h1,h2).wp-block-heading{font-size:var(--type-heading)!important}
.content :is(h3,h4,h5,h6).wp-block-heading{font-size:var(--type-body)!important}
.content .has-small-font-size{font-size:var(--type-small)!important}
.content p[style*="font-size"]:not(.has-small-font-size){font-size:var(--type-body)!important}
