@font-face{font-family:Arvo;src:url('assets/fonts/arvo-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Arvo;src:url('assets/fonts/arvo-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/fonts/montserrat.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:light;--paper:#e4c99c;--ink:#090805}
/* Each scrolling window reveals a viewport-fixed painting. Clip-path keeps
   adjacent works visible together without relying on mobile background-attachment. */
.artwork-gallery{position:relative;isolation:isolate}
.artwork-panel{position:relative;margin:0;height:100vh;height:100svh;clip-path:inset(0);background:#202020}
.artwork-panel img{position:fixed;inset:0;width:100%;max-width:none;height:100vh;height:100svh;object-fit:cover;object-position:center}
@media(prefers-reduced-motion:reduce){.artwork-panel img{position:absolute}}
*{box-sizing:border-box}
.carousel-controls{display:flex;justify-content:center;gap:12px;margin:-20px auto 24px}
.carousel-controls button{background:transparent;color:var(--paper);border:1px solid #e4c99c55;min-width:44px;min-height:44px;padding:8px 14px;cursor:pointer;font-size:14px}
.carousel-controls button:hover{background:#e4c99c22}
.archive-page .brand-dark{opacity:0}
.archive-page .brand-gold{opacity:1}
.archive-heading{background:#090909;padding:180px 24px 110px;text-align:center;color:var(--paper)}
.archive-heading h1{font:700 64px/1.15 Arvo,Georgia,serif;letter-spacing:-1px;text-transform:uppercase;margin:0}
.archive-content{background:#edc995 url('Uploads/2025/07/ChatGPT-Image-Jul-24-2025-01_32_54-PM.png') center/cover fixed;padding:70px 24px 90px}
.archive-inner{max-width:960px;margin:auto}
.archive-intro{font:400 24px/1.15 Arvo,Georgia,serif;text-align:justify;margin:0 0 55px}
.archive-inner figure{margin:0 0 58px}
.archive-inner figure img{width:100%;height:auto;background:#fff}
.archive-inner figcaption{text-align:center;font-size:15px;line-height:1.6;font-weight:300;color:#58381d;margin:45px 0 0}
@media(max-width:767px){
 .archive-heading{padding:135px 20px 65px}
 .archive-heading h1{font-size:clamp(30px,8vw,48px)}
 .archive-content{padding:40px 20px 55px;background-attachment:scroll}
 .archive-intro{font-size:20px;line-height:1.45;text-align:left;margin-bottom:35px}
 .archive-inner figcaption{font-size:14px;margin-top:22px}
 .archive-inner figure{margin-bottom:38px}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.artist-closing{background:var(--paper) url('Uploads/2025/07/ChatGPT-Image-Jul-24-2025-01_32_54-PM.png') center/cover;padding:100px 24px 145px}
.closing-inner{max-width:810px;margin:auto}
.artist-closing h2{font:700 60px/1.12 Arvo,Georgia,serif;text-align:center;text-transform:uppercase;margin:0 0 45px}
.artist-closing p{font:400 23px/26px Arvo,Georgia,serif;text-align:justify;margin:0}
.artist-closing img{width:500px;height:auto;margin:85px auto 95px}
.artist-closing hr{width:480px;max-width:75%;height:2px;border:0;background:var(--ink);margin:0 auto}
.contact,.site-footer{background:#202020 url('Uploads/2019/03/bistro-body-bg-pattern.png');color:white;text-align:center}
.contact{padding:70px 24px 0}
.contact h2{font:400 64px/1.2 Arvo,Georgia,serif;text-transform:uppercase;color:var(--paper);margin:0 0 85px}
.contact-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 26px;width:min(600px,100%);margin:auto;text-align:left}
.contact-form label{min-width:0}
.full-field{grid-column:1/-1}
.contact-form input,.contact-form textarea{display:block;width:100%;min-width:0;border:0;border-bottom:1px solid #b7b7b7;background:transparent;color:white;border-radius:0;font:400 14px/1.5 Montserrat,Arial,sans-serif;padding:10px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#fff;opacity:1}
.contact-form textarea{height:200px;resize:vertical}
.contact-form button{border:1px solid #b7b7b7;background:transparent;color:#fff;min-height:48px;font-size:14px;cursor:pointer}
.contact-form button:hover{background:#e4c99c;color:#090805}
.contact-form :focus-visible{outline:2px solid var(--paper);outline-offset:4px}
.form-status{font-size:14px;line-height:1.6;color:var(--paper);margin:0}
.contact-details{max-width:760px;margin:60px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:32px}
.contact-details h3{font:400 36px/1.2 Arvo,Georgia,serif;color:var(--paper);margin:0 0 18px}
.contact-details a{font-size:16px}
.social-links{display:flex;justify-content:center;gap:16px}
.social-links a{display:grid;place-items:center;min-width:40px;min-height:40px}
.social-links svg{width:32px;height:32px}
.site-footer{padding:140px 24px 30px}
.site-footer a{display:block;width:220px;margin:auto}
@media(max-width:767px){
 .artist-closing{padding:65px 24px 70px}
 .artist-closing h2{font-size:clamp(28px,7.6vw,44px);margin-bottom:30px}
 .artist-closing p{font-size:18px;line-height:1.55;text-align:left}
 .artist-closing img{margin:45px auto 50px;max-width:100%}
 .contact{padding:55px 24px 0}
 .contact h2{font-size:40px;margin-bottom:45px}
 .contact-form{grid-template-columns:1fr;gap:20px}
 .contact-form input,.contact-form textarea{font-size:16px}
 .contact-details{grid-template-columns:1fr;gap:36px;margin-top:45px}
 .contact-details h3{font-size:28px}
 .site-footer{padding:70px 24px 30px}
 .site-footer a{width:180px}
}
section[id]{scroll-margin-top:74px}
.academic-roots{position:relative;background:#202020 url('Uploads/2019/03/stone-bg.jpg') center/cover fixed;color:var(--paper);text-align:center;padding:115px 24px 70px}
.academic-inner{max-width:960px;margin:auto}
.academic-roots h2{font:700 64px/1.15 Arvo,Georgia,serif;text-transform:uppercase;margin:0 0 95px}
.academic-record{position:relative;padding:62px 0 100px}
.academic-record::before{content:"";position:absolute;top:0;left:25%;width:50%;height:1px;background:var(--paper)}
.academic-record:first-of-type::before{left:0}
.academic-record h3{font:400 28px/1.3 Arvo,Georgia,serif;text-transform:uppercase;margin:0 0 36px}
.academic-record p{max-width:640px;margin:auto;color:#fff;font-size:15px;font-weight:300;line-height:24px}
.academic-lines{width:440px;max-width:75%;margin:105px auto 0}
.exhibitions{position:relative;background:#202020 url('Uploads/2019/03/bistro-body-bg-pattern.png');color:var(--paper);text-align:center;padding:95px 24px}
.exhibitions h2{font:700 36px/1.2 Arvo,Georgia,serif;text-transform:uppercase;margin:0 0 60px}
.exhibitions-intro{max-width:850px;margin:0 auto;color:#fff;font:400 28px/36px Arvo,Georgia,serif}
.exhibitions>hr{width:320px;max-width:65%;height:1px;border:0;background:var(--paper);margin:52px auto 110px}
.exhibition-feature{max-width:1116px;margin:0 auto}
.exhibition-feature img{width:100%;height:auto;background:#fff}
.exhibition-feature figcaption{font-size:14px;line-height:23px;font-weight:300;margin:34px auto 46px}
.exhibitions-more{display:inline-block;background:var(--paper);color:#090805;padding:16px 20px;font-size:16px;font-weight:700}
.exhibitions-more:hover{background:#f2dcb5}
@media(max-width:767px){
 .academic-roots{padding:70px 24px 45px;background-attachment:scroll}
 .academic-roots h2{font-size:clamp(30px,8vw,46px);margin-bottom:55px}
 .academic-record{padding:38px 0 55px}
 .academic-record h3{font-size:22px;margin-bottom:24px}
 .academic-record p{font-size:14px;line-height:24px}
 .academic-record:first-of-type::before{left:25%}
 .academic-lines{margin-top:30px;width:300px}
 .exhibitions{padding:65px 20px}
 .exhibitions h2{font-size:28px;margin-bottom:30px}
 .exhibitions-intro{font-size:21px;line-height:1.5}
 .exhibitions>hr{margin:35px auto 50px}
 .exhibition-feature figcaption{font-size:13px;line-height:21px;margin:24px auto 30px}
}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#202020;font-family:Montserrat,Arial,sans-serif}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%;height:auto}
a:focus-visible,button:focus-visible{outline:3px solid #604526;outline-offset:5px}
.skip-link{position:fixed;top:10px;left:10px;z-index:100;padding:12px;background:white;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.site-header{position:absolute;z-index:20;top:64px;left:50%;transform:translateX(-50%);width:min(900px,calc(100% - 80px));display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{width:130px;flex:none}
.site-header nav{display:flex;align-items:center;gap:0}
.site-header nav a{font-family:Arvo,Georgia,serif;font-size:14px;color:#fff;padding:22px 18px;border-right:1px solid #d7b78255}
.site-header nav a:hover{color:#725637}
.site-header nav .buy{font:700 14px Arial,sans-serif;color:#000;background:#f7f7f7;border:0;border-radius:10px;margin-left:30px;padding:16px 19px}
.site-header nav .buy:hover{background:#fff1dc}
.menu-toggle{display:none}
.hero{background:var(--paper) url('Uploads/2025/07/ChatGPT-Image-Jul-24-2025-01_32_54-PM.png') center/cover;overflow:hidden}
/* Independent layers use a shared coordinate system, matching the reference canvas. */
.canvas{position:relative;width:min(1116px,calc(100% - 48px));aspect-ratio:1116/806;margin-inline:auto;container-type:inline-size}
.layer{position:absolute;pointer-events:none;user-select:none;max-width:none}
.sketch{z-index:1;mask-image:radial-gradient(ellipse at center,#000 40%,transparent 73%)}
.sketch-artist{left:-13.95%;top:26.35%;width:18.63%}
.sketch-reclining{left:32.02%;top:0;width:36.77%}
.sketch-dog{left:50.65%;top:79.61%;width:32.34%}
.artist-copy{position:absolute;z-index:5;left:6.05%;top:26.55%;color:white;text-transform:uppercase}
.award{display:table;margin:0 0 1.05cqw;padding:1.12cqw 2.5cqw;background:#06020082;color:var(--paper);font-size:1.613cqw;font-weight:700;line-height:1.3}
h1{margin:0;font-family:Arvo,Georgia,serif;font-size:6.29cqw;line-height:.886;font-weight:700;letter-spacing:-.12cqw}
.profession{margin:2.25cqw 0 0 .6cqw;font-weight:700;font-size:1.613cqw;line-height:1.4}
.portrait{z-index:4;left:61.61%;top:15.41%;width:24.28%}
.hand{z-index:3;left:59.1%;top:30.6%;width:42.02%}
.signature{z-index:4;left:37.58%;top:64.99%;width:21.61%}
.recognition{position:absolute;z-index:5;left:6.65%;top:72.7%;margin:0;color:white;text-transform:uppercase;font-size:1.613cqw;font-weight:700;line-height:1.03}
.recognition span{color:#090805}
/* One continuous textured block, with the introductory canvas overlapping the hero. */
.arts-preview{background-image:url('Uploads/2025/07/stripes.png'),url('Uploads/2019/03/bistro-body-bg-pattern.png');background-color:#202020;background-repeat:no-repeat,repeat;background-position:center,top left;background-size:cover,auto;background-attachment:fixed,scroll;padding-bottom:135px;display:flow-root}
.preview-inner{position:relative;width:min(960px,calc(100% - 64px));margin:auto;display:grid;grid-template-columns:1fr 1fr;column-gap:0;row-gap:50px;align-items:start}
.arts-card{position:relative;z-index:6;margin-top:-135px;padding:68px 68px 80px;background:var(--paper) url('Uploads/2025/07/textura_lienzo_beige.png') center top/cover}
.arts-card h2{margin:0;font:700 50px/1.15 Arvo,Georgia,serif;text-transform:uppercase;letter-spacing:-1px}
.arts-card hr{border:0;height:1px;background:linear-gradient(90deg,#b9714c,#fff);margin:31px 0 36px}
.arts-card h3{font:700 22px/1.2 Arvo,Georgia,serif;margin:0 0 14px;letter-spacing:-.5px}
.arts-introduction{font-size:14px;line-height:23.5px;font-weight:200;text-align:justify;margin:0}
.arts-introduction::first-letter{float:left;font:700 68px/.9 Arvo,Georgia,serif;margin:3px 9px 0 0}
.biography-preview{width:calc(100% - 136px);margin:78px auto 0}
.exhibition-photo{width:210px;justify-self:center}
.artist-biography{padding:22px 68px 0;text-align:center;color:var(--paper);font-size:14px;line-height:23.5px;font-weight:300}
.biography-signature{width:260px;margin:0 auto 40px}
.artist-biography p{margin:0}
.artist-statement{grid-column:1/-1;width:78%;margin:82px 0 0 9px;color:#fff;font:400 28px/36px Arvo,Georgia,serif}
.brand{position:relative}
.brand-gold{position:absolute;inset:0;opacity:0}
.site-header.is-fixed{position:fixed;top:0;height:54px}
.site-header.is-fixed::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:rgba(27,27,27,.97)}
.site-header.is-fixed .brand{width:94px}
.site-header.is-fixed .brand-dark{opacity:0}
.site-header.is-fixed .brand-gold{opacity:1}
.site-header.is-fixed nav a{padding-block:17px;border-color:transparent}
.site-header.is-fixed nav .buy{padding-block:15px}
.site-header.is-fixed a:focus-visible{outline-color:var(--paper)}
.quick-links{position:fixed;right:11px;bottom:85px;z-index:30;display:grid;gap:8px}
.quick-links a{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--paper);color:white;box-shadow:0 2px 6px #0003;transition:transform .2s}
.quick-links a:hover{transform:translateY(-3px)}
.quick-links svg{width:34px;height:34px}
@media (min-width:768px) and (max-width:1199px){
 .site-header{top:35px;width:calc(100% - 100px)}
 .site-header nav a{padding:16px 12px;font-size:12px}
 .site-header nav .buy{margin-left:12px}
 .brand{width:110px}
 .arts-card{margin-top:-85px;padding:40px}.biography-preview{width:calc(100% - 80px)}.artist-biography{padding:22px 35px 0}.artist-statement{width:90%;font-size:24px;line-height:1.4}
 .arts-card h2{font-size:40px}
}
@media (max-width:767px){
 .site-header{top:23px;width:calc(100% - 40px);gap:20px}
 .brand{width:108px}
 .menu-toggle{display:grid;gap:5px;place-content:center;width:46px;height:46px;border:1px solid #755d3b55;background:#f6e1bbcc;border-radius:8px;cursor:pointer}
 .menu-toggle span{display:block;width:22px;height:2px;background:var(--ink)}
 .site-header nav{display:none;position:absolute;top:66px;right:0;min-width:220px;padding:12px;background:#f5dfb9;border:1px solid #bca078;border-radius:10px;box-shadow:0 12px 30px #39281722}
 .site-header nav.is-open{display:grid}
 .site-header nav a{color:#352718;border:0;padding:14px 18px;font-size:15px}
 .site-header nav .buy{margin:8px 0 0;text-align:center}
 .canvas{width:100%;aspect-ratio:auto;height:920px}
 .artist-copy{top:142px;left:7%;right:5%}
 .award{font-size:13px;padding:12px 18px;margin-bottom:18px}
 h1{font-size:clamp(43px,10.7vw,72px);line-height:.98;letter-spacing:-1.3px}
 .profession{font-size:clamp(11px,3.1vw,17px);margin:18px 0 0}
 .sketch-artist{width:29%;left:69%;top:17%;opacity:.65}
 .sketch-reclining{width:57%;left:34%;top:25px;opacity:.7}
 .portrait{width:205px;left:calc(50% - 56px);top:455px}
 .hand{width:310px;left:calc(50% - 130px);top:551px}
 .signature{width:155px;left:7%;top:718px}
 .sketch-dog{width:210px;left:48%;top:799px}
 .recognition{left:7%;top:405px;font-size:clamp(10px,2.7vw,15px);line-height:1.2}
 .arts-preview{padding-bottom:70px;background-attachment:scroll,scroll;background-size:auto 100%,auto}
 .preview-inner{width:calc(100% - 40px);display:flex;flex-direction:column;align-items:center;gap:36px}
 .arts-card{width:min(100%,420px);margin-top:-38px;padding:36px 28px 44px}.arts-card h3{font-size:21px}.arts-introduction{font-size:14px;line-height:1.75}
 .arts-card h2{font-size:38px}
 .biography-preview{width:min(100%,340px);margin:0}.exhibition-photo{width:min(65%,240px)}.artist-biography{max-width:390px;padding:0 12px;font-size:14px;line-height:1.75}.biography-signature{width:220px;margin-bottom:25px}.desktop-break{display:none}.artist-statement{width:100%;margin:10px 0 0;font-size:22px;line-height:1.5}.site-header.is-fixed{height:64px}.site-header.is-fixed nav a{padding-block:14px}.site-header.is-fixed .menu-toggle{background:transparent;border-color:#e4c99c66}.site-header.is-fixed .menu-toggle span{background:var(--paper)}
 .decorative-lines{display:none}
 .quick-links{right:12px;bottom:18px;gap:8px}
 .quick-links a{width:48px;height:48px}
 .quick-links svg{width:27px;height:27px}
}
@media (min-width:480px) and (max-width:767px){.canvas{height:1000px}.recognition{top:465px}.portrait{top:520px}.hand{top:616px}.signature{top:783px}.sketch-dog{top:869px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.quick-links a{transition:none}}
