:root{--ink:#20231e;--paper:#f2f0e9;--paper2:#e7e4da;--moss:#6b735a;--moss2:#b2b49d;--line:rgba(32,35,30,.18);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}.skip-link{position:absolute;top:-100px;left:16px;background:var(--paper);padding:10px;z-index:10}.skip-link:focus{top:12px}.site-header{height:88px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:5;background:var(--paper)}.wordmark{text-decoration:none;font-size:14px;font-weight:600;letter-spacing:.12em;line-height:1.2}.wordmark span{display:block;font-size:9px;letter-spacing:.19em;color:#77786e;margin-top:7px}.site-nav{display:flex;gap:38px}.site-nav a,.site-footer>a:not(.wordmark){font-size:12px;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.site-nav a:hover,.text-link:hover,.site-footer a:hover{color:var(--moss)}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:8px 12px;color:var(--ink);font:inherit}.hero{min-height:650px;background:var(--ink);color:var(--paper);padding:84px 7vw 80px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:6vw;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 78% 32%,rgba(117,125,95,.36),transparent 35%),radial-gradient(ellipse at 9% 100%,rgba(129,111,83,.2),transparent 38%);pointer-events:none}.hero-copy,.hero-art{position:relative}.eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--moss);margin:0 0 18px}.hero .eyebrow{color:#c4c4ac}.hero h1,.section h2,.available-section h2,.commission-band h2,.contact-section h2{font:400 clamp(42px,5.6vw,76px)/1.1 var(--serif);letter-spacing:-.035em;margin:0}.hero h1 em,.available-section h2 em,.commission-band h2 em,.contact-section h2 em{font-weight:400;color:#c5c5aa}.hero-intro{max-width:500px;color:#dcddd4;font-size:15px;line-height:1.85;margin:28px 0 32px}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:50px;padding:0 20px;text-decoration:none;font-size:11px;letter-spacing:.09em;text-transform:uppercase;transition:background .2s,color .2s,border .2s}.button span{font-size:16px}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#d1d2bd}.button-outline{border:1px solid var(--line);color:var(--ink)}.button-outline:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.text-link{font-size:12px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}.hero .text-link{color:#dedfd5}.hero-art{justify-self:end;width:min(100%,465px);height:445px;border:1px solid rgba(238,235,222,.35);background:linear-gradient(140deg,rgba(217,207,180,.1),transparent 47%),radial-gradient(ellipse at 52% 60%,#525848 0,#30362d 38%,#20231e 76%);display:grid;place-items:center}.hero-art:before,.hero-art:after{content:"";position:absolute;border:1px solid rgba(238,235,222,.15);border-radius:50%;width:58%;height:70%;transform:rotate(-23deg)}.hero-art:after{width:45%;height:80%;transform:rotate(28deg)}.hero-frame{width:60%;height:64%;border:1px solid rgba(235,231,211,.48);display:grid;place-items:center;text-align:center;color:#e3e0cc;letter-spacing:.2em;font-size:9px;line-height:1.8;position:relative;background:radial-gradient(ellipse at 50% 42%,rgba(210,206,178,.13),transparent 55%)}.hero-caption{position:absolute;bottom:18px;left:20px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#d0d1c1}.hero-index{position:absolute;right:7vw;bottom:24px;color:#a8aa9b;font-size:9px;letter-spacing:.18em}.intro-strip{display:flex;justify-content:center;align-items:center;gap:25px;padding:25px 4vw;border-bottom:1px solid var(--line);color:#5b5d52}.intro-strip p{margin:0;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.intro-strip span{color:var(--moss);font-size:14px}.section{padding:105px 10vw}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:46px}.section h2,.contact-section h2{font-size:clamp(38px,4vw,55px)}.section-note{max-width:280px;color:#686a60;font-size:13px;margin:0 0 5px}.artwork-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.art-card{min-width:0}.art-photo{aspect-ratio:4/5;background:linear-gradient(155deg,#b8b6a4,#8b8a78 48%,#555849);position:relative;overflow:hidden;display:grid;place-items:center;color:#fff}.art-photo:before{content:"";position:absolute;width:42%;height:67%;border:1px solid rgba(255,255,255,.48);border-radius:52% 48% 42% 58%/42% 51% 49% 58%;transform:rotate(-13deg);background:radial-gradient(ellipse at 55% 30%,rgba(248,240,208,.27),transparent 40%),linear-gradient(135deg,rgba(41,47,38,.2),rgba(25,29,23,.53));box-shadow:0 22px 55px rgba(22,25,20,.22)}.art-photo:after{content:"";position:absolute;inset:9%;border:1px solid rgba(255,255,255,.17)}.art-photo span{position:relative;z-index:1;font-size:9px;letter-spacing:.18em;text-transform:uppercase;text-align:center;text-shadow:0 1px 8px #222}.art-card:nth-child(2) .art-photo{background:linear-gradient(145deg,#a7a58e,#777b64 55%,#3f4738)}.art-card:nth-child(3) .art-photo{background:linear-gradient(145deg,#b7a994,#807561 55%,#45483b)}.art-card:nth-child(4) .art-photo{background:linear-gradient(145deg,#9eaaa2,#6b7b72 55%,#3c4642)}.art-card:nth-child(5) .art-photo{background:linear-gradient(145deg,#b9ab9c,#897c6d 55%,#534c44)}.art-card:nth-child(6) .art-photo{background:linear-gradient(145deg,#b4b19a,#777d66 55%,#454b3d)}.art-meta{display:flex;justify-content:space-between;gap:12px;align-items:start;padding:16px 1px}.art-meta h3{font:500 19px/1.3 var(--serif);margin:0 0 5px}.art-meta p{font-size:11px;color:#717267;margin:0}.art-price{font-size:11px;color:#55574c;white-space:nowrap}.art-buy{display:inline-block;margin:0 0 8px 1px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}.art-buy[aria-disabled="true"]{opacity:.5;pointer-events:none;border:0}.empty-state{margin:40px 0 0;border-top:1px solid var(--line);padding-top:22px;color:#707166;font-size:13px}.empty-state a{color:var(--ink)}.available-section{background:var(--moss);color:var(--paper);padding:100px 10vw;display:grid;grid-template-columns:90px 1fr 120px;gap:30px;align-items:center}.available-section .eyebrow{color:#dcdeca}.available-section h2{font-size:clamp(40px,4.5vw,62px)}.available-section p:not(.eyebrow){max-width:510px;color:#e4e5d9;font-size:14px;line-height:1.8;margin:24px 0 28px}.available-section .button-outline{color:var(--paper);border-color:rgba(255,255,255,.5)}.available-section .button-outline:hover{background:var(--paper);color:var(--ink)}.available-mark{font:60px var(--serif);color:#d4d5c0;align-self:start}.available-side-note{font-size:9px;letter-spacing:.18em;line-height:2.2;color:#dbdeca;text-align:right}.about-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:10vw}.about-label{padding-top:11px}.about-rule{width:70px;height:1px;background:var(--moss);margin:27px 0}.about-small{font:italic 17px/1.5 var(--serif);max-width:230px;color:#67695e}.about-copy h2{margin-bottom:17px}.about-lede{font:20px/1.45 var(--serif);max-width:620px}.about-copy p:not(.about-lede){max-width:650px;color:#66685f;font-size:14px;line-height:1.9}.about-copy .text-link{display:inline-block;margin-top:13px}.commission-band{background:#e3e1d7;text-align:center;padding:93px 20px}.commission-band h2{font-size:clamp(38px,4.5vw,59px)}.commission-band h2 em{color:var(--moss)}.commission-band>p:not(.eyebrow){max-width:470px;margin:22px auto 27px;color:#62645a;font-size:14px}.commission-band .button{background:var(--ink);color:var(--paper)}.commission-band .button:hover{background:var(--moss)}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.contact-copy{padding-top:35px}.contact-copy>p:first-child{max-width:470px;color:#66685f;font-size:15px;margin:0 0 27px}.contact-location{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#77786d;margin-top:30px}.site-footer{border-top:1px solid var(--line);padding:32px 7vw;display:grid;grid-template-columns:1.1fr 1.2fr .5fr auto;gap:20px;align-items:center}.site-footer p{font-size:11px;color:#77786d;margin:0}.site-footer small{font-size:9px;letter-spacing:.09em;color:#77786d}.site-footer .wordmark{font-size:12px}.site-footer .wordmark span{font-size:8px}
@media(max-width:850px){.hero{grid-template-columns:1fr 0.9fr;gap:4vw;padding-left:6vw;padding-right:6vw}.hero-art{height:380px}.section{padding:80px 7vw}.available-section{padding:80px 7vw;grid-template-columns:55px 1fr 90px}.site-footer{grid-template-columns:1fr 1fr;row-gap:28px}}
@media(max-width:640px){.site-header{height:76px;padding:0 6vw}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--paper);padding:20px 6vw 24px;border-bottom:1px solid var(--line);flex-direction:column;gap:18px}.site-nav.is-open{display:flex}.hero{display:flex;flex-direction:column;align-items:stretch;padding:65px 7vw 75px;gap:40px}.hero h1{font-size:49px}.hero-intro{font-size:14px}.hero-art{width:100%;height:330px}.hero-index{right:7vw}.intro-strip{gap:12px;flex-wrap:wrap;padding:20px 7vw}.intro-strip p{font-size:8px}.intro-strip span{font-size:11px}.section{padding:75px 7vw}.section-heading{display:block;margin-bottom:32px}.section-note{margin-top:15px}.artwork-grid{grid-template-columns:1fr 1fr;gap:12px}.art-meta{display:block}.art-price{display:block;margin-top:7px}.available-section{padding:72px 7vw;grid-template-columns:1fr;gap:20px}.available-mark{font-size:45px}.available-side-note{text-align:left}.about-section{grid-template-columns:1fr;gap:40px}.about-rule{margin:20px 0}.about-copy h2{font-size:46px}.commission-band{padding:76px 8vw}.contact-section{grid-template-columns:1fr;gap:25px}.contact-copy{padding-top:0}.site-footer{padding:30px 7vw;grid-template-columns:1fr 1fr;align-items:start}.site-footer .wordmark{grid-column:1/-1}.site-footer p{grid-column:1/-1}.site-footer small{justify-self:end}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.art-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}

[hidden]{display:none!important}
a:focus-visible,button:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Shop and cart */
.shop-section{background:var(--paper2)}
.shop-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:start}
.shop-items{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.shop-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px 20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.shop-item h3{font:500 18px/1.3 var(--serif);margin:0}
.shop-item p{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#6a6c61;margin:3px 0 0}
.shop-price{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.shop-add{min-height:40px;padding:0 16px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:11px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}
.shop-add:hover{background:var(--ink);color:var(--paper)}
.cart{background:var(--paper);border:1px solid var(--ink);padding:26px;position:sticky;top:24px;display:grid;gap:18px;min-width:0}
.cart h3{font:400 28px/1.2 var(--serif);margin:0}
.cart-empty{margin:0;font-size:13px;color:#5f6157}
.cart-lines{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:baseline}
.cart-line-name{font:500 16px/1.3 var(--serif)}
.cart-line-total{font-size:13px;font-variant-numeric:tabular-nums}
.cart-qty{display:flex;align-items:center;gap:10px;font-size:13px;font-variant-numeric:tabular-nums}
.cart-qty .step{width:32px;height:32px;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;font:16px/1 var(--sans)}
.cart-qty .step:hover{background:var(--ink);color:var(--paper)}
.cart-qty .remove{border:0;background:none;padding:0;margin-left:6px;color:var(--ink);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}
.cart-sum{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid var(--line);padding-top:16px}
.cart-sum span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#5f6157}
.cart-sum strong{font:400 28px/1 var(--serif);font-variant-numeric:tabular-nums}
.cart-note{font-size:12px;line-height:1.6;color:#5f6157;margin:0}
.cart-checkout{display:grid;gap:12px}
.cart-links{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cart-links .button{width:100%;text-align:center;gap:12px;padding:10px 16px;min-height:44px;line-height:1.4}
.cart-copy{justify-self:start;min-height:40px;padding:0 16px;border:1px solid var(--line);background:transparent;color:var(--ink);font:11px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
.cart-copy:hover{background:var(--ink);color:var(--paper)}
.cart-copyarea{width:100%;min-height:110px;font:13px/1.5 var(--sans);background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:10px}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px}
.footer-links{display:flex;flex-direction:column;gap:6px}
.footer-links a{font-size:12px;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}
@media(max-width:850px){.shop-layout{grid-template-columns:1fr;gap:36px}.cart{position:static}}
@media(max-width:640px){.shop-item{grid-template-columns:minmax(0,1fr) auto}.shop-item>div{grid-column:1/-1}.shop-section .section-heading{display:block}}


/* Photo gallery, hero photo, lightbox */
.hero-art{height:auto;aspect-ratio:4/5;width:min(100%,430px);overflow:hidden;padding:0;display:block}
.hero-art:before,.hero-art:after{display:none}
.hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.hero-caption{left:0;right:0;bottom:0;padding:44px 20px 16px;background:linear-gradient(transparent,rgba(23,25,22,.78));color:#f2f0e9;z-index:1}
.artwork-grid{display:block;column-count:3;column-gap:14px}
.work{margin:0 0 14px;break-inside:avoid;display:block}
.work-open{display:block;width:100%;padding:0;border:0;background:var(--paper2);cursor:zoom-in;line-height:0}
.work-open img{display:block;width:100%;height:auto;transition:opacity .2s}
.work-open:hover img{opacity:.88}
.work-cap{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:10px 1px 2px}
.work-cap h3{font:500 17px/1.3 var(--serif);margin:0 0 3px}
.work-tag{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#5f6157}
#lightbox{width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(23,25,22,.95);color:var(--paper)}
#lightbox:not([open]){display:none}
.lb-wrap{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px;padding:16px 16px 20px;justify-items:center}
.lb-close{justify-self:end}
#lb-img{max-width:100%;max-height:100%;min-height:0;object-fit:contain;align-self:center}
#lb-cap{font-size:12px;letter-spacing:.06em;line-height:1.5;margin:0;text-align:center;max-width:60ch}
.lb-nav{display:flex;gap:12px}
.lb-btn{min-height:44px;padding:0 18px;border:1px solid rgba(242,240,233,.55);background:transparent;color:var(--paper);font:11px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
.lb-btn:hover{background:var(--paper);color:var(--ink)}
#lightbox :focus-visible{outline-color:var(--paper)}
@media(max-width:900px){.site-header{height:76px;padding:0 6vw}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--paper);padding:20px 6vw 24px;border-bottom:1px solid var(--line);flex-direction:column;gap:18px}.site-nav.is-open{display:flex}}
@media(max-width:850px){.artwork-grid{column-count:2}.hero-art{width:min(100%,430px)}}
@media(max-width:640px){.artwork-grid{column-gap:10px}.work{margin-bottom:10px}.hero-art{width:100%;max-width:430px;justify-self:start;height:auto}}
