/*
Theme Name: Edward Cating Portfolio
Theme URI: https://edwardcating.com/
Author: Edward Cating
Description: A responsive portfolio theme for the paintings and artistic work of Edward Cating.
Version: 1.8.5
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: edward-cating-portfolio
*/

:root { --paper:#f0eee8; --ink:#191918; --muted:#6f6d66; --line:#cbc7bc; --accent:#7f2f25; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans",sans-serif; font-weight:300; }
body.ec-lightbox-open { overflow:hidden; }
.ec-site a { color:inherit; text-decoration:none; }
.ec-site button { font:inherit; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { clip:auto!important; width:auto; height:auto; top:8px; left:8px; z-index:100000; padding:.8rem 1rem; background:#fff; color:#111; }
.site-header { height:96px; display:flex; align-items:center; justify-content:space-between; padding:0 3vw; border-bottom:1px solid var(--line); position:relative; z-index:5; }
.wordmark { display:flex; align-items:center; width:clamp(230px,25vw,430px); }
.wordmark img { display:block; width:100%; height:auto; max-height:68px; object-fit:contain; object-position:left center; }
.site-header nav { display:flex; gap:2rem; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; }
.site-header nav a { position:relative; }
.site-header nav a:after { content:""; position:absolute; left:0; bottom:-5px; width:0; height:1px; background:currentColor; transition:.25s; }
.site-header nav a:hover:after,.site-header nav a:focus-visible:after { width:100%; }
.hero { min-height:calc(100vh - 96px); display:grid; grid-template-columns:minmax(0,44fr) minmax(0,56fr); align-items:center; padding:5vw 3vw; gap:5vw; }
.eyebrow { font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; font-weight:500; color:var(--muted); margin:0 0 2.5rem; }
.ec-site h1,.ec-site h2 { font-family:"Newsreader",serif; font-weight:300; letter-spacing:-.045em; margin:0; line-height:.93; }
.ec-site h1 { font-size:clamp(4.2rem,7vw,8.5rem); }
.intro { max-width:32rem; font-family:"Newsreader",serif; font-size:clamp(1.25rem,1.8vw,1.8rem); line-height:1.35; margin:3rem 0; color:#403f3a; }
.text-link { font-size:.74rem; text-transform:uppercase; letter-spacing:.13em; border-bottom:1px solid var(--ink); padding-bottom:.4rem; }
.text-link span { margin-left:1rem; }
.hero-art { margin:0; justify-self:end; width:min(100%,780px); overflow:hidden; }
.hero-art img { width:100%; height:min(72vh,820px); object-fit:cover; object-position:center 35%; display:block; opacity:1; transform:scale(1.018); animation:ec-hero-drift 14s ease-in-out infinite alternate; transition:opacity .7s ease,transform 1.1s cubic-bezier(.2,.7,.2,1); }
.hero-art.is-changing img { opacity:0; }
.hero-art figcaption,.art-meta { display:flex; justify-content:space-between; padding-top:.75rem; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); }
.work-section { padding:10rem 3vw; border-top:1px solid var(--line); }
.section-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:5rem; }
.ec-site h2 { font-size:clamp(4.5rem,8vw,9rem); }
.art-controls { display:grid; justify-items:end; gap:.7rem; }
.filter-label { margin:0; color:var(--muted); font-size:.64rem; font-weight:500; letter-spacing:.15em; text-transform:uppercase; }
.filters { display:flex; gap:.55rem; flex-wrap:wrap; justify-content:flex-end; }
.filters [data-art-filter] { position:relative; min-height:2.85rem; background:rgba(255,255,255,.38); border:1px solid var(--line); padding:.75rem 1.08rem; border-radius:100px; font-size:.7rem; font-weight:500; line-height:1; text-transform:uppercase; letter-spacing:.11em; cursor:pointer; color:var(--ink); transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease; }
.filters [data-art-filter].active { background:var(--ink); color:var(--paper); border-color:var(--ink); box-shadow:0 .35rem .8rem rgba(25,25,24,.13); }
.filters [data-art-filter]:hover { border-color:var(--ink); transform:translateY(-2px); }
.filters [data-art-filter]:focus-visible { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:5rem 1.6rem; align-items:start; }
.art-card { border:0; background:none; padding:0; text-align:left; color:inherit; transition:transform .45s cubic-bezier(.2,.7,.2,1); }
.art-card[hidden] { display:none; }
.art-card.featured { grid-column:auto; }
.art-preview { appearance:none; display:block; width:100%; border:0; background:none; padding:0; text-align:left; cursor:zoom-in; color:inherit; }
.image-wrap { display:block; overflow:hidden; background:#dfdcd3; aspect-ratio:4/5; }
.art-card img,.art-card.featured img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.art-preview:hover img,.art-preview:focus-visible img { transform:scale(1.045); }
.art-card:hover { transform:translateY(-7px); }
.art-meta { align-items:flex-start; gap:1rem; }
.art-meta>span { display:flex; flex-direction:column; gap:.3rem; }
.art-meta strong, .art-meta .art-title { color:var(--ink); font-weight:500; }
.art-meta small { font:inherit; color:var(--muted); }
.art-card-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.6rem 1rem; }
.art-meta a { color:var(--ink); border-bottom:1px solid var(--line); padding-bottom:.2rem; white-space:nowrap; }
.art-meta .back-to-top { color:var(--muted); }
.art-meta a:hover,.art-meta a:focus-visible { color:var(--accent); border-color:var(--accent); }
.about { padding:10rem 3vw; background:#22211f; color:var(--paper); }
.about .eyebrow { color:#aaa69c; }
.about-grid { display:grid; grid-template-columns:1fr minmax(220px,.72fr) 1fr; gap:clamp(2rem,5vw,7rem); align-items:start; }
.about h2 { font-size:clamp(4rem,7vw,8rem); }
.about-photo { margin:1rem 0 0; }
.about-photo { overflow:hidden; }
.about-photo img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:52% center; transition:transform 1.1s cubic-bezier(.2,.7,.2,1); }
.about-photo:hover img { transform:scale(1.025); }
.about-photo figcaption { margin-top:.75rem; color:#aaa69c; font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; }
.about-copy { max-width:42rem; padding-top:1rem; }
.about-copy p { font-family:"Newsreader",serif; font-size:clamp(1.5rem,2.2vw,2.2rem); line-height:1.35; color:#d9d5cc; margin:0 0 1.5rem; }
.about-copy p:last-child { font-family:"DM Sans",sans-serif; font-size:.85rem; text-transform:uppercase; letter-spacing:.08em; color:#aaa69c; margin-top:3rem; }
.artist-statement { display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(2rem,8vw,10rem); margin-top:clamp(5rem,9vw,10rem); padding-top:clamp(3rem,5vw,6rem); border-top:1px solid #4b4945; }
.artist-statement blockquote { margin:0; }
.artist-statement blockquote p { margin:0; font-family:"Newsreader",serif; font-size:clamp(2rem,3.6vw,4.5rem); line-height:1.12; color:var(--paper); }
.artist-statement>div { align-self:end; max-width:38rem; }
.artist-statement>div p { margin:0 0 1.4rem; color:#d9d5cc; font-size:1rem; line-height:1.7; }
.artist-statement>div p:last-child { margin-bottom:0; color:#aaa69c; font-family:"Newsreader",serif; font-size:1.35rem; }
.press-section { padding:10rem 3vw; border-bottom:1px solid var(--line); }
.press-intro { display:grid; grid-template-columns:1.25fr .75fr; gap:8vw; align-items:end; margin-bottom:6rem; }
.press-intro h2 { font-size:clamp(4.5rem,8vw,9rem); }
.press-intro>p { max-width:31rem; font-family:"Newsreader",serif; font-size:clamp(1.4rem,2vw,2rem); line-height:1.4; color:#4b4943; margin:0 0 .6rem; }
.press-list { border-top:1px solid var(--line); }
.press-item { display:grid; grid-template-columns:8rem 1fr 14rem; gap:2rem; align-items:center; padding:2rem 0; border-bottom:1px solid var(--line); transition:padding .25s,color .25s; }
.press-item:hover,.press-item:focus-visible { padding-left:1rem; color:var(--accent); }
.press-year,.press-source { font-size:.68rem; text-transform:uppercase; letter-spacing:.11em; color:var(--muted); }
.press-source { text-align:right; }
.press-source b { font-weight:400; margin-left:.7rem; }
.press-title { display:flex; flex-direction:column; gap:.35rem; }
.press-title strong { font-family:"Newsreader",serif; font-size:clamp(1.6rem,2.6vw,2.7rem); font-weight:300; letter-spacing:-.025em; }
.press-title small { font-size:.72rem; text-transform:uppercase; letter-spacing:.09em; color:var(--muted); }
.beyond-section { display:grid; grid-template-columns:1fr 1fr; min-height:760px; background:#d8d2c5; }
.beyond-image { min-height:720px; overflow:hidden; }
.beyond-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }
.beyond-section:hover .beyond-image img { transform:scale(1.025); }
.beyond-copy { padding:8rem 6vw; display:flex; flex-direction:column; justify-content:center; }
.beyond-copy h2 { font-size:clamp(3.8rem,6vw,7rem); margin-bottom:3rem; }
.beyond-copy>p:not(.eyebrow) { font-family:"Newsreader",serif; font-size:clamp(1.25rem,1.8vw,1.8rem); line-height:1.45; max-width:34rem; color:#49463f; }
.beyond-links { border-top:1px solid #aaa396; margin-top:3rem; }
.beyond-links a { display:flex; flex-direction:column; gap:.4rem; padding:1.25rem 0; border-bottom:1px solid #aaa396; font-family:"Newsreader",serif; font-size:1.25rem; }
.beyond-links a span { font-family:"DM Sans",sans-serif; font-size:.65rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); }
.contact { padding:12rem 3vw; text-align:center; }
.contact h2 { font-size:clamp(5rem,10vw,11rem); }
.contact>p:not(.eyebrow) { max-width:34rem; margin:3rem auto 2rem; line-height:1.7; color:var(--muted); }
.contact-link { display:inline-flex; gap:2rem; align-items:center; font-family:"Newsreader",serif; font-size:clamp(1.4rem,2.4vw,2.5rem); border-bottom:1px solid var(--ink); padding-bottom:.5rem; }
.portfolio-actions { display:flex; flex-wrap:wrap; gap:1rem 2rem; align-items:center; margin-top:4rem; }
.archive-search { display:grid; gap:.5rem; max-width:34rem; margin:0 0 3rem; font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; }
.archive-search input { border:1px solid var(--line); background:#fff; color:var(--ink); padding:1rem; font:inherit; text-transform:none; letter-spacing:0; }
.portfolio-actions a { font-weight:500; border-bottom:1px solid currentColor; padding-bottom:.25rem; }
.portfolio-actions .primary-action { background:var(--ink); color:var(--paper); border:0; padding:1rem 1.35rem; }
.cv-summary { padding:clamp(2rem,4vw,4rem); background:#e4ded2; margin-bottom:2rem; }
.cv-summary h3 { font-family:"Newsreader",serif; font-size:clamp(2rem,4vw,4rem); margin:0 0 2rem; font-weight:400; }
.cv-summary dl { margin:0; }
.cv-summary dl div { display:grid; grid-template-columns:minmax(8rem,.35fr) 1fr; gap:2rem; padding:1rem 0; border-top:1px solid #b9b1a3; }
.cv-summary dt { text-transform:uppercase; letter-spacing:.1em; font-size:.75rem; }
.cv-summary dd { margin:0; line-height:1.6; }
.print-cv { margin-top:2rem; border:1px solid var(--ink); background:transparent; padding:.8rem 1rem; cursor:pointer; }
.inquiry-form { max-width:52rem; margin:3rem auto 2.5rem; text-align:left; display:grid; gap:1.25rem; }
.inquiry-form .form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.inquiry-form label { display:grid; gap:.45rem; font-size:.82rem; font-weight:500; letter-spacing:.04em; }
.inquiry-form input,.inquiry-form select,.inquiry-form textarea { width:100%; border:1px solid #9f988c; border-radius:0; background:#fff; color:var(--ink); font:inherit; padding:.9rem; }
.inquiry-form textarea { resize:vertical; }
.inquiry-form .check-label { display:flex; align-items:flex-start; gap:.75rem; font-weight:400; }
.inquiry-form .check-label input { width:auto; margin-top:.2rem; }
.inquiry-form button[type=submit] { justify-self:start; border:0; background:var(--ink); color:#fff; padding:1rem 1.4rem; font:inherit; cursor:pointer; }
.inquiry-form small { color:var(--muted); line-height:1.5; }
.hp-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.form-notice { background:#e6efe8; color:#173c25!important; padding:1rem; margin:2rem auto!important; }
.ec-footer { border-top:1px solid var(--line); margin:0 3vw; padding:2rem 0; display:flex; justify-content:space-between; font-size:.67rem; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); }
.lightbox { position:fixed; inset:0; z-index:99999; background:rgba(18,18,17,.98); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:clamp(.3rem,.8vw,.75rem); overflow:hidden; color:white; }
.lightbox[hidden] { display:none; }
.lightbox-stage { position:relative; width:100%; flex:1; min-height:0; display:flex; align-items:center; justify-content:center; }
.lightbox-image-wrap { position:relative; width:100%; height:100%; min-height:0; display:flex; align-items:center; justify-content:center; }
.lightbox img { display:block; width:100%; height:100%; max-width:calc(100vw - .6rem); max-height:calc(100dvh - .6rem); object-fit:contain; transition:opacity .2s ease; }
.lightbox.is-loading img { opacity:.16; }
.lightbox-loading { display:none; position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); color:#ddd; font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
.lightbox.is-loading .lightbox-loading { display:block; }
.lightbox-caption { position:absolute; z-index:4; left:50%; bottom:.75rem; transform:translateX(-50%); width:max-content; max-width:min(calc(100vw - 8rem),1100px); display:flex; justify-content:space-between; align-items:end; gap:2rem; margin:0; padding:.8rem 1rem; border:1px solid rgba(255,255,255,.18); border-radius:.35rem; background:rgba(18,18,17,.86); }
.lightbox-caption h2 { margin:0 0 .45rem; color:#fff; font-family:"Newsreader",serif; font-size:clamp(1.5rem,2.5vw,2.4rem); font-weight:300; line-height:1; }
.lightbox-caption p { margin:0; display:flex; gap:.7rem; color:#aaa; font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; }
.lightbox-caption p span+span:not(:empty):before { content:"·"; margin-right:.7rem; }
.lightbox-caption a { flex:none; border-bottom:1px solid #777; padding-bottom:.3rem; font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; }
.close,.lightbox-nav { min-width:44px; min-height:44px; border:1px solid #777; border-radius:100px; background:rgba(18,18,17,.72); color:white; cursor:pointer; }
.close { position:absolute; z-index:6; top:1.5rem; right:1.5rem; padding:.65rem 1rem; text-transform:uppercase; letter-spacing:.1em; }
.lightbox-nav { position:absolute; z-index:5; top:50%; transform:translateY(-50%); display:grid; place-items:center; font-size:1.3rem; }
.lightbox-prev { left:.75rem; }
.lightbox-next { right:.75rem; }
.close:hover,.close:focus-visible,.lightbox-nav:hover,.lightbox-nav:focus-visible { background:#fff; color:#111; border-color:#fff; }
.site-header a:focus-visible,.ec-site button:focus-visible,.ec-site a:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.ec-fallback { max-width:900px; margin:4rem auto; padding:0 2rem; }
.fallback-nav { display:flex; gap:1.5rem; margin-bottom:3rem; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }
.artwork-page { min-height:100vh; }
.artwork-header { height:88px; display:flex; align-items:center; justify-content:space-between; padding:0 3vw; border-bottom:1px solid var(--line); }
.artwork-header nav { display:flex; gap:1.5rem; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }
.artwork-detail { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(260px,.55fr); gap:clamp(2rem,4vw,5rem); padding:2.5vw 2vw 7rem; align-items:start; }
.artwork-image { margin:0; padding:1rem; background:#e2dfd7; display:flex; align-items:center; justify-content:center; min-height:82vh; }
.artwork-image img { display:block; width:auto; max-width:100%; max-height:88vh; object-fit:contain; }
.artwork-info { position:sticky; top:3rem; padding-top:1rem; }
.artwork-info h1 { font-size:clamp(3.5rem,6vw,7rem); margin-bottom:2rem; }
.artwork-facts { margin:0 0 2.5rem; border-top:1px solid var(--line); }
.artwork-facts div { display:grid; grid-template-columns:8rem 1fr; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.artwork-facts dt { color:var(--muted); text-transform:uppercase; letter-spacing:.1em; font-size:.66rem; }
.artwork-facts dd { margin:0; }
.artwork-description { font-family:"Newsreader",serif; font-size:1.35rem; line-height:1.5; color:#45433e; }
.artwork-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2.5rem; }
.artwork-actions a { border:1px solid var(--ink); border-radius:100px; padding:.8rem 1.1rem; font-size:.7rem; text-transform:uppercase; letter-spacing:.09em; }
.artwork-actions a:hover,.artwork-actions a:focus-visible { background:var(--ink); color:var(--paper); }
.artwork-nav { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border-top:1px solid var(--line); }
.artwork-nav a { background:var(--paper); padding:2.5rem 3vw; display:flex; flex-direction:column; gap:.5rem; }
.artwork-nav a:last-child { text-align:right; }
.artwork-nav small { color:var(--muted); text-transform:uppercase; letter-spacing:.1em; }
.artwork-nav strong { font-family:"Newsreader",serif; font-size:1.5rem; font-weight:300; }
.motion-ready .motion-reveal { opacity:0; transform:translateY(30px); transition:opacity .85s ease var(--motion-delay,0ms),transform .85s cubic-bezier(.2,.7,.2,1) var(--motion-delay,0ms); }
.motion-ready .motion-reveal.is-visible { opacity:1; transform:translateY(0); }
.lightbox:not([hidden]) { animation:ec-lightbox-in .3s ease both; }
.lightbox:not([hidden]) img { animation:ec-image-in .45s cubic-bezier(.2,.7,.2,1) both; }
@keyframes ec-hero-drift { from { transform:scale(1.018) translate3d(-.35%,0,0); } to { transform:scale(1.045) translate3d(.35%,-.5%,0); } }
@keyframes ec-lightbox-in { from { opacity:0; } to { opacity:1; } }
@keyframes ec-image-in { from { opacity:0; transform:scale(.985); } to { opacity:1; transform:scale(1); } }
@media (max-width:900px) {
  .hero { grid-template-columns:1fr; padding-top:5rem; }
  .hero-art { justify-self:stretch; }
  .hero-art img { height:70vh; }
  .section-heading { align-items:start; flex-direction:column; gap:3rem; }
  .art-controls { justify-items:start; }
  .filters { justify-content:flex-start; }
  .gallery { grid-template-columns:repeat(2,1fr); }
  .about-grid { grid-template-columns:1fr; }
  .artist-statement { grid-template-columns:1fr; }
  .press-intro { grid-template-columns:1fr; align-items:start; }
  .press-item { grid-template-columns:5rem 1fr; }
  .press-source { grid-column:2; text-align:left; }
  .beyond-section { grid-template-columns:1fr; }
  .beyond-image { min-height:60vh; max-height:760px; }
  .artwork-detail { grid-template-columns:1fr; }
  .artwork-info { position:static; }
}
@media (max-width:600px) {
  .site-header { height:auto; min-height:74px; padding:1.1rem 5vw; gap:1rem; align-items:flex-start; flex-wrap:wrap; }
  .site-header nav { width:100%; gap:.75rem 1rem; font-size:.62rem; flex-wrap:wrap; justify-content:flex-start; }
  .wordmark { width:clamp(190px,42vw,280px); }
  .wordmark img { max-height:54px; }
  .hero { min-height:auto; padding:5rem 5vw; gap:4rem; }
  .ec-site h1 { font-size:clamp(3.7rem,17vw,5.2rem); }
  .hero-art img { height:62vh; }
  .work-section,.about,.press-section,.contact { padding:7rem 5vw; }
  .gallery { grid-template-columns:1fr; gap:4rem; }
  .art-card.featured { grid-column:auto; }
  .art-card img,.art-card.featured img { height:100%; max-height:none; }
  .press-intro { margin-bottom:4rem; }
  .press-item { grid-template-columns:1fr; gap:.65rem; padding:1.6rem 0; }
  .press-source { grid-column:auto; text-align:left; }
  .beyond-copy { padding:7rem 5vw; }
  .ec-footer { margin:0 5vw; flex-direction:column; gap:1rem; }
  .lightbox { padding:.25rem; }
  .lightbox-stage { width:100%; }
  .lightbox img { max-width:calc(100vw - .5rem); max-height:calc(100dvh - .5rem); }
  .lightbox-caption { bottom:.4rem; width:calc(100vw - 1rem); max-width:none; align-items:flex-start; flex-direction:column; gap:.55rem; padding:.65rem .75rem; }
  .lightbox-caption p { flex-wrap:wrap; }
  .lightbox-caption h2 { font-size:clamp(1.15rem,6vw,1.6rem); }
  .lightbox-caption a { align-self:flex-end; }
  .lightbox-prev { left:.35rem; }
  .lightbox-next { right:.35rem; }
  .close { top:.4rem; right:.4rem; }
  .artwork-header { height:auto; min-height:74px; padding:1rem 5vw; }
  .artwork-detail { padding:3rem 5vw 5rem; }
  .artwork-image { min-height:45vh; }
  .artwork-nav { grid-template-columns:1fr; }
  .artwork-nav a:last-child { text-align:left; }
}

html,body,.ec-site { max-width:100%; overflow-x:clip; }
img,svg,video { max-width:100%; }
@media (max-width:600px) {
  .hero-copy h1 { font-size:clamp(3rem,15vw,4.75rem); overflow-wrap:anywhere; }
  .inquiry-form .form-row,.cv-summary dl div { grid-template-columns:1fr; gap:.5rem; }
  .contact-link { font-size:1.05rem; overflow-wrap:anywhere; }
}
@media print {
  .site-header,.hero,.work-section,.beyond-section,.contact,.ec-footer,.press-item,.print-cv { display:none!important; }
  .about,.press-section { padding:1rem!important; }
  .press-section { display:block!important; }
  .cv-summary { background:#fff!important; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .motion-ready .motion-reveal { opacity:1; transform:none; }
}


/* Gallery accessibility and compact print details. */
.art-meta .art-title{font:inherit;font-weight:500;margin:0;color:var(--ink);letter-spacing:inherit;text-transform:inherit}
.ecgs-print-details{margin-top:12px;font-size:14px;line-height:1.6}.ecgs-print-details summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.ecgs-order-notice{font-size:13px;line-height:1.5;max-width:48em;margin:10px 0}.ec-gallery-pager{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin:32px 0}.ec-gallery-pager[hidden]{display:none}.ec-gallery-pager p{flex-basis:100%;text-align:center}.ec-gallery-pager button{font:inherit;padding:10px 18px;border:1px solid currentColor;background:transparent;color:var(--ink);border-radius:24px;cursor:pointer}.ec-gallery-pager button:disabled{opacity:.4;cursor:default}.ec-gallery-pager button[hidden]{display:none}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #986b34;outline-offset:4px}.hero-copy,.hero-art{opacity:1!important;transform:none!important}.lightbox-caption .ecgs-order-notice,.lightbox-caption summary{color:#eee}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Refined print disclosures: native keyboard behavior, drawn decorative chevron. */
.ecgs-print-details > summary{display:flex;align-items:center;gap:.6em;list-style:none;min-height:44px;width:fit-content;text-decoration:none;font-weight:500;border-bottom:1px solid currentColor;padding:4px 2px;box-sizing:border-box}
.ecgs-print-details > summary::-webkit-details-marker{display:none}
.ecgs-print-details > summary::marker{content:''}
.ecgs-print-details > summary::before{content:'';display:block;width:.45em;height:.45em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);flex:none;margin-right:.15em}
.ecgs-print-details[open] > summary::before{transform:rotate(45deg)}
.ecgs-print-details .ecgs-note{padding-top:.65rem}
.filters a[data-art-filter]{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

/* Shared navigation and studio journal. */
.ecn-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:40px;position:relative;z-index:20}.ecn-header .wordmark{width:180px;flex:none}.ecn-header .wordmark img{max-height:48px}.ecn-navlinks{display:flex;align-items:center;gap:clamp(14px,2vw,30px);flex-wrap:wrap}.ecn-navlinks a{font:500 12px/1.4 'DM Sans',sans-serif;text-decoration:none;letter-spacing:.04em;padding:10px 0}.ecn-navlinks a:last-child{border:1px solid var(--line);border-radius:30px;padding:10px 16px}.ecn-navlinks a[aria-current]{text-decoration:underline;text-underline-offset:5px}.ecn-menu-button{display:none}.ecn-main{max-width:1180px;margin:0 auto;padding:36px 0 72px}.ecn-main h1{font:400 clamp(3rem,7vw,6rem)/1.02 'Newsreader',serif;letter-spacing:-.045em;max-width:1000px;margin:14px 0 26px}.ecn-main h2{font:400 clamp(2rem,3vw,3rem)/1.1 'Newsreader',serif;letter-spacing:-.025em}.ecn-lead{font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.7;max-width:700px;margin-bottom:40px}.ecn-news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 36px}.ecn-news-card img{width:100%;height:310px;object-fit:contain;background:#e4e0d7}.ecn-news-card h2 a{text-decoration:none}.ecn-news-card p{line-height:1.65}.ecn-empty{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:30px;background:#e5e0d7}.ecn-empty img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain}.ecn-empty p{line-height:1.75}.ecn-prose{font-size:18px;line-height:1.8;max-width:760px;margin:40px auto}.ecn-prose p{margin:1.4em 0}.ecn-prose img,.ecn-prose video{max-width:100%;height:auto}.ecn-post-image img{display:block;max-width:100%;width:100%;max-height:650px;height:auto;object-fit:contain;background:#e5e0d7}.ecn-share,.ecn-related{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:24px 0;border-top:1px solid var(--line);margin-top:36px}.ecn-share button,.ecn-action{font:inherit;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:24px;padding:12px 20px;cursor:pointer}.ecn-form{max-width:760px}.ecn-form .check-label{display:flex;flex-direction:row;align-items:flex-start;gap:12px;line-height:1.6}.ecn-form .check-label input{width:18px;min-width:18px;margin-top:5px}.ecn-fine{font-size:14px;line-height:1.7}.ecn-notice{padding:20px;border:1px solid #7e9275;background:#edf0e8;max-width:760px}.ecn-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.ecn-approved{margin-top:70px;border-top:1px solid var(--line);padding-top:30px}.ecn-approved figure{margin:30px 0;padding:24px;background:#e5e0d7}.ecn-approved blockquote{font:400 1.4rem/1.6 'Newsreader',serif;margin:0 0 16px}.ecn-approved figcaption{font-size:14px}.ecn-footer{flex-wrap:wrap;gap:20px}.ecn-home-invitation{padding:36px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:50px 0;display:flex;justify-content:space-between;gap:24px;align-items:center}.ecn-home-invitation h2{font:400 clamp(2rem,3vw,3rem)/1.15 'Newsreader',serif;margin:0 0 12px}.ecn-home-invitation p{line-height:1.6;max-width:650px}.ecn-home-invitation nav{display:flex;flex-wrap:wrap;gap:20px}.ecn-main .navigation.pagination{margin:35px 0}.ecn-main .page-numbers{padding:8px 12px}
@media(max-width:760px){.ecn-header{flex-wrap:wrap;gap:10px;padding:12px 0;margin-bottom:24px}.ecn-header .wordmark{width:150px}.ecn-menu-button:not([hidden]){display:block;background:transparent;border:1px solid var(--line);border-radius:22px;padding:10px 18px;font:inherit;color:var(--ink)}.ecn-navlinks{width:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 0}.ecn-navlinks a{padding:12px;min-height:44px}.ecn-navlinks a:last-child{margin-top:8px;text-align:center}.ecn-nav-ready .ecn-navlinks:not(.is-open){display:none}.ecn-news-grid,.ecn-empty{grid-template-columns:1fr}.ecn-empty{padding:20px;gap:20px}.ecn-main{padding-top:20px}.ecn-news-card img{height:250px}.ecn-home-invitation{align-items:flex-start;flex-direction:column}.ecn-prose{font-size:17px}.ecn-main h1{overflow-wrap:anywhere}}

.ecn-header{padding-left:clamp(18px,3vw,60px);padding-right:clamp(18px,3vw,60px)}.ecn-main{width:calc(100% - 48px)}@media(max-width:760px){.ecn-main{width:calc(100% - 36px)}}

/* Keep rotating hero artwork and captions inside the grid at every width. */
.hero-copy,.hero-art { min-width:0; }
.hero-art { max-width:100%; }
.hero-art figcaption { gap:.5rem 1rem; flex-wrap:wrap; }
.hero-art figcaption > * { min-width:0; overflow-wrap:anywhere; }

/* Give the studio invitation the same safe gutters as nearby sections. */
.ec-site .ecn-home-invitation { box-sizing:border-box; padding:36px 5vw; width:100%; max-width:100%; flex-wrap:wrap; }
.ec-site .ecn-home-invitation > div { flex:1 1 30rem; min-width:0; }
.ec-site .ecn-home-invitation nav { min-width:0; max-width:100%; flex:0 1 auto; }
.ec-site .ecn-home-invitation a,.ec-site .ecn-home-invitation p,.ec-site .ecn-home-invitation h2 { overflow-wrap:anywhere; }
@media(max-width:760px){ .ec-site .ecn-home-invitation > div { flex:0 1 auto; } }

/* Keep the full rotating frame and caption in the opening viewport. */
body.home .ecn-header{margin-bottom:12px;padding-top:12px;padding-bottom:12px}
body.home .ec-site>.ecpg-callout{margin-bottom:8px;padding:12px 18px;gap:16px}
body.home .ec-site>.ecpg-callout p{font-size:14px;line-height:1.4}
body.home .ec-site>.ecpg-callout strong{font-size:16px}
body.home .ec-site>.ecpg-callout .ecpg-button{min-height:40px;padding:9px 16px;font-size:14px}
body.home .hero{min-height:0;padding:20px 3vw 28px;gap:4vw;grid-template-columns:minmax(0,44fr) minmax(0,56fr)}
body.home .hero-copy .eyebrow{margin-bottom:20px}
body.home .hero-copy h1{font-size:clamp(3rem,min(5.4vw,8.8svh),6.5rem);line-height:.98}
body.home .hero-copy .intro{font-size:clamp(1.15rem,1.55vw,1.5rem);line-height:1.35;margin:24px 0}
body.home .hero-art .ec-hero-stage{height:clamp(200px,calc(100svh - 320px),680px);min-height:0}
body.home .hero-art.ec-hero-framed figcaption{width:100%!important;min-height:42px;align-content:start;line-height:1.4;margin-top:12px!important;gap:4px 12px;font-size:.68rem}
@media(max-width:900px) and (min-width:701px){
 body.home .hero-copy h1{font-size:clamp(2.3rem,5.2vw,3rem)}
 body.home .hero-copy .intro{font-size:1.1rem}
 body.home .ecn-navlinks{gap:14px}
}
@media(max-width:700px){
 body.home .ecn-header{margin-bottom:8px;padding-top:8px;padding-bottom:8px}
 body.home .ec-site>.ecpg-callout{margin:0 5vw 8px;padding:10px 12px;gap:8px;flex-direction:column;align-items:stretch}
 body.home .ec-site>.ecpg-callout p{font-size:12px;line-height:1.35}
 body.home .ec-site>.ecpg-callout strong{font-size:14px}
 body.home .ec-site>.ecpg-callout .ecpg-button{min-height:34px;padding:6px 12px;font-size:12px}
 body.home .hero{grid-template-columns:1fr;padding:12px 5vw 20px;gap:16px}
 body.home .hero-copy .eyebrow{font-size:.6rem;margin-bottom:10px}
 body.home .hero-copy h1{font-size:clamp(2rem,8vw,3.2rem);line-height:.98}
 body.home .hero-copy .intro{max-width:38rem;font-size:1rem;line-height:1.25;margin:12px 0}
 body.home .hero-copy .text-link{font-size:.65rem}
 body.home .hero-art{justify-self:stretch;width:100%}
 body.home .hero-art .ec-hero-stage{height:clamp(140px,calc(100svh - 550px),420px);min-height:0}
 body.home .hero-art.ec-hero-framed figcaption{font-size:.6rem;min-height:36px;margin-top:10px!important}
}

/* Gallery landing: show complete paintings and first-row details above the fold. */
.ec-site #work.work-section{padding-top:28px;padding-bottom:72px}
.ec-site #work .section-heading{margin-bottom:24px;gap:20px}
.ec-site #work .section-heading .eyebrow{margin-bottom:12px}
.ec-site #work .section-heading h2{font-size:clamp(2.8rem,4.5vw,5rem);line-height:1}
.ec-site #work>.ecpg-callout{margin:0 0 20px!important;padding:12px 18px;gap:16px}
.ec-site #work>.ecpg-callout p{font-size:14px;line-height:1.4}
.ec-site #work>.ecpg-callout strong{font-size:16px}
.ec-site #work>.ecpg-callout .ecpg-button{min-height:40px;padding:9px 16px;font-size:14px}
.ec-site #work .gallery{row-gap:40px}
.ec-site #work .image-wrap{aspect-ratio:auto;height:clamp(200px,calc(100svh - 430px),460px);background:transparent}
.ec-site #work .art-card img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none}
@media(max-width:900px){
 .ec-site #work .section-heading{gap:16px}
 .ec-site #work .section-heading h2{font-size:clamp(2.6rem,6vw,4rem)}
}
@media(max-width:600px){
 .ec-site #work.work-section{padding-top:20px}
 .ec-site #work .section-heading{margin-bottom:18px}
 .ec-site #work>.ecpg-callout{padding:12px;gap:10px}
 .ec-site #work .image-wrap{height:clamp(200px,calc(100svh - 400px),380px)}
}

/* Print guide: keep the four instructions together in the opening desktop view. */
body.page-id-1034 .ecn-header{margin-bottom:12px;padding-top:12px;padding-bottom:12px}
body.page-id-1034 .ecn-main{padding-top:16px}
body.page-id-1034 .ecn-main>.eyebrow{margin:0 0 12px}
body.page-id-1034 .ecn-main>h1{font-size:clamp(2.5rem,4.5vw,4rem);margin:0 0 16px;line-height:1.05}
body.page-id-1034 .ecpg-guide .ecpg-lead{font-size:18px;line-height:1.5;max-width:1080px;margin:0 0 14px}
body.page-id-1034 .ecpg-lead+p{margin:0 0 24px}
body.page-id-1034 .ecpg-guide h2{font-size:clamp(1.8rem,2.5vw,2.4rem);margin:32px 0 16px}
body.page-id-1034 .ecpg-lead+p+h2{margin-top:0}
body.page-id-1034 .ecpg-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 44px;max-width:none;margin:0;padding-left:26px;font-size:16px;line-height:1.5}
body.page-id-1034 .ecpg-steps li{padding:0 0 0 6px}
body.page-id-1034 .ecpg-steps strong{font-size:18px;line-height:1.3;margin-bottom:6px}
body.page-id-1034 .ecpg-secondary{margin-top:8px;margin-bottom:8px}
@media(max-width:700px){
 body.page-id-1034 .ecn-main{padding-top:12px}
 body.page-id-1034 .ecpg-guide .ecpg-lead{font-size:16px}
 body.page-id-1034 .ecpg-steps{grid-template-columns:1fr;gap:18px}
 body.page-id-1034 .ecpg-lead+p{margin-bottom:20px}
}

/* Artists: bring the first featured painting fully into the opening view. */
body.page-id-991 .ecn-header{margin-bottom:12px;padding-top:12px;padding-bottom:12px}
body.page-id-991 .ecn-main{padding-top:16px}
body.page-id-991 .ecn-main>.eyebrow{margin:0 0 12px}
body.page-id-991 .ecn-main>h1{font-size:clamp(2.5rem,4.5vw,4rem);line-height:1.05;margin:0 0 16px}
body.page-id-991 .ecn-prose{margin:20px auto 40px;font-size:17px;line-height:1.5}
body.page-id-991 .ecn-prose>p:first-child{margin:0 0 16px}
body.page-id-991 .ecn-prose>hr:first-of-type{margin:16px 0 12px}
body.page-id-991 .ecn-prose>h2:first-of-type{font-size:clamp(1.8rem,2.6vw,2.5rem);line-height:1.1;margin:0 0 12px}
body.page-id-991 .ecn-prose>h2:first-of-type+p{margin:0 0 16px}
body.page-id-991 .ec-artist-preview:first-of-type{margin:16px 0!important}
body.page-id-991 .ec-artist-preview:first-of-type img{max-height:clamp(180px,calc(100svh - 480px),340px)!important;width:auto;height:auto;object-fit:contain}
@media(max-width:600px){body.page-id-991 .ecn-prose{font-size:16px}body.page-id-991 .ecn-main{padding-top:12px}}

/* Website Design: fit the first project image in the opening view. */
body.page-id-1006 .ecn-header{margin-bottom:12px;padding-top:12px;padding-bottom:12px}
body.page-id-1006 .ecn-main{padding-top:16px}
body.page-id-1006 .ecn-main>.eyebrow{margin:0 0 12px}
body.page-id-1006 .ecn-main>h1{font-size:clamp(2.5rem,4.5vw,4rem);line-height:1.05;margin:0 0 16px}
body.page-id-1006 .ec-web-design{margin:20px auto 40px;font-size:17px;line-height:1.5}
body.page-id-1006 .ec-web-design>.ecn-lead{font-size:17px;line-height:1.5;margin:0 0 16px;max-width:none}
body.page-id-1006 .ec-web-design>h2:first-of-type{font-size:clamp(1.8rem,2.6vw,2.5rem);line-height:1.1;margin:0 0 12px}
body.page-id-1006 .ec-web-design>h3:first-of-type{font-size:20px;line-height:1.3;margin:0 0 8px}
body.page-id-1006 .ec-web-design>h3:first-of-type+p{margin:0 0 16px}
body.page-id-1006 .ec-project-preview:first-of-type{margin:16px 0!important}
body.page-id-1006 .ec-project-preview:first-of-type>a{padding:16px!important}
body.page-id-1006 .ec-project-preview:first-of-type img{max-height:clamp(100px,calc(100svh - 560px),280px)!important;object-fit:contain}
@media(max-width:600px){body.page-id-1006 .ec-web-design,body.page-id-1006 .ec-web-design>.ecn-lead{font-size:16px}body.page-id-1006 .ecn-main{padding-top:12px}}
