:root{--paper:#faf8f4;--ink:#302c35;--purple:#756287;--muted:#817c83;--line:#ded9df;--lilac:#eee8f1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'Nunito',sans-serif}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--purple);outline-offset:5px}header{display:flex;align-items:center;justify-content:space-between;padding:28px 6%;border-bottom:1px solid var(--line)}.brand{font:24px/1.03 'Literata',Georgia,serif}.brand span{display:block;font:9px 'Nunito',sans-serif;letter-spacing:2px;margin-top:10px}nav{display:flex;gap:35px;font-size:13px}.header-link{font-size:13px;border-bottom:1px solid;padding-bottom:4px}.hero{display:grid;grid-template-columns:46% 54%;padding:70px 6% 30px;gap:0;min-height:680px}.hero-copy{padding:35px 25px 0 0}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:600;color:var(--purple)}h1,h2,h3,p,figure{margin:0}h1{font:clamp(60px,6.6vw,102px)/1.02 'Literata',Georgia,serif;letter-spacing:-4px;margin:25px 0}em{font-weight:400;color:var(--purple)}.hero p{max-width:345px;font-size:15px;color:#6f6872}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;padding:16px 23px;background:var(--purple);color:white;font-size:12px;transition:background .2s,transform .2s}.button:hover{background:#584765;transform:translateY(-2px)}.text-link{font-size:12px;border-bottom:1px solid #aaa0ae;padding-bottom:5px}.hero-art{margin:0;padding:0 0 0 28px}.hero-art img{width:100%;height:490px;object-fit:cover;object-position:50%;border-radius:45% 45% 0 0}.hero-art figcaption{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.4px;margin-top:18px}.hero-art figcaption span{letter-spacing:0;color:var(--muted)}.hero-note{margin-top:90px;font-size:10px;color:var(--muted)}.hero-note span{margin-right:14px;color:var(--purple)}.intro{text-align:center;padding:70px 20px 85px;border-bottom:1px solid var(--line)}.spark{font-size:30px;color:var(--purple)}.intro p{font:32px/1.4 'Literata',Georgia,serif;margin-top:15px}.section{padding:95px 6%}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px}h2{font:clamp(38px,4vw,58px)/1.12 'Literata',Georgia,serif;letter-spacing:-1.5px;margin-top:17px}.section-head>p{font-size:13px;color:var(--muted);padding-bottom:5px}.filters{display:flex;gap:8px;margin-bottom:34px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:transparent;padding:8px 18px;border-radius:30px;font-size:12px;cursor:pointer}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 25px}.art-card{border:0;background:none;padding:0;text-align:left;cursor:pointer;color:var(--ink)}.art-card .image-box{background:#eeeae4;padding:22px;overflow:hidden;height:320px;display:flex;align-items:center;justify-content:center}.art-card img{width:100%;height:100%;object-fit:contain;transition:transform .4s}.art-card:hover img{transform:scale(1.04)}.art-meta{display:flex;justify-content:space-between;font-size:15px;margin-top:13px}.art-meta span{color:var(--purple)}.art-card small{font-size:10px;color:var(--muted)}.gallery-note{margin-top:28px;font-size:12px}.muted{color:var(--muted)}.commission{background:var(--lilac);display:grid;grid-template-columns:1.1fr 1fr;gap:12%}.commission p{font-size:14px;max-width:420px;margin:25px 0}.commission .button{margin-top:5px}.steps{padding-top:20px}.steps article{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid #d3cbd8}.steps article>span{font:23px 'Literata',Georgia;color:var(--purple)}.steps h3{font:23px Georgia}.steps p{font-size:12px;margin:10px 0 0}.class-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.class-photo{width:100%;height:650px;object-fit:cover;object-position:center}.class-copy h3{font:39px/1.15 Georgia}.class-copy>p{font-size:14px;color:var(--muted);margin:20px 0}.format{display:flex;gap:20px;padding:16px 0;border-top:1px solid var(--line)}.format>span{font-size:11px;color:var(--purple)}.format strong{font-size:13px;font-weight:500}.format p{font-size:11px;color:var(--muted);margin-top:5px}.class-copy .button{margin-top:20px}.class-copy .small{font-size:10px;margin:12px 0}.process-strip{margin-top:50px;display:flex;align-items:center;gap:40px}.process-strip img{width:180px;height:140px;object-fit:cover}.process-strip p{font:30px/1.3 Georgia}.about{display:grid;grid-template-columns:1fr 1fr;gap:11%;background:#f0ede7;align-items:center}.portrait-wrap img{width:100%;max-height:610px;object-fit:cover;object-position:center 35%}.portrait-wrap span{display:block;margin-top:14px;font-size:9px;letter-spacing:1.4px;color:var(--muted)}.about .lead{font:23px/1.4 'Literata',Georgia;margin:26px 0}.about p:not(.lead){font-size:14px;color:#716b73;margin:20px 0}.about .text-link{display:inline-block;margin-top:15px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}blockquote{margin:0;padding:25px 0;border-top:1px solid var(--line)}.quote{font:64px/.8 'Literata',Georgia;color:var(--purple)}blockquote p{font:20px/1.5 'Literata',Georgia;min-height:190px;margin:15px 0 25px}blockquote footer{font-size:12px}blockquote footer span{display:block;color:var(--muted);font-size:10px;margin-top:5px}.contact{background:var(--lilac);text-align:center}.contact h2{font-size:70px}.contact p{font-size:14px;color:#756d7b;margin-top:25px}.contact .actions{justify-content:center;margin-bottom:30px}.phone{font:24px 'Literata',Georgia;display:block;margin-bottom:8px}.contact>a:not(.phone){font-size:12px}.site-footer{display:flex;justify-content:space-between;gap:20px;padding:30px 6%;font-size:10px;color:var(--muted)}dialog{padding:0;border:0;background:var(--paper);max-width:950px;width:90vw;max-height:90vh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#241e2adb;backdrop-filter:blur(5px)}dialog[open]{display:grid;grid-template-columns:1.2fr 1fr}dialog>img{width:100%;height:100%;max-height:75vh;object-fit:contain;background:#e9e5df;padding:20px}.dialog-copy{padding:60px 30px 35px}.dialog-copy h2{font-size:35px}.dialog-copy p{font-size:13px;margin:25px 0}.close{position:absolute;right:12px;top:8px;border:0;background:var(--paper);font-size:30px;width:40px;cursor:pointer}.art-card[hidden]{display:none}@media(min-width:1500px){main,header,.site-footer{max-width:1600px;margin:auto}}@media(max-width:800px){header{padding:22px 6%}nav{gap:15px;font-size:11px}.brand{font-size:20px}.hero{grid-template-columns:1fr;padding-top:35px;min-height:0}.hero-copy{padding:0}h1{font-size:70px;letter-spacing:-3px}.hero-art{padding:35px 0 0}.hero-art img{height:380px;border-radius:38% 38% 0 0}.hero-note{margin-top:25px}.hero-art figcaption{font-size:8px}.intro{padding:50px 15px}.intro p{font-size:25px}.section{padding:60px 6%}.section-head{align-items:flex-start;flex-direction:column;gap:20px}.art-grid{grid-template-columns:repeat(2,1fr);gap:25px 15px}.art-card .image-box{height:250px;padding:12px}.commission,.class-layout,.about{grid-template-columns:1fr;gap:35px}.class-photo{height:480px}.class-copy h3{font-size:33px}.review-grid{grid-template-columns:1fr}blockquote p{min-height:0}.contact h2{font-size:55px}.site-footer{flex-wrap:wrap}.process-strip{gap:20px}.process-strip img{width:110px;height:120px}.process-strip p{font-size:24px}dialog[open]{grid-template-columns:1fr}dialog>img{height:45vh}.dialog-copy{padding:25px}.header-link{display:none}}@media(max-width:420px){nav{gap:10px;font-size:10px}.brand{font-size:17px}.brand span{font-size:7px}h1{font-size:60px}.art-card .image-box{height:190px}.art-meta{font-size:13px}.contact h2{font-size:47px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

:root{--paper:#fcf9f3;--ink:#493c42;--purple:#886e86;--lilac:#f0e8ec;--line:#e6ddd9}body{font-size:17px}.brand{line-height:1.2;font-size:22px}.brand span{letter-spacing:1.3px}h1{font-size:clamp(54px,5.7vw,88px);line-height:1.16;letter-spacing:-2.6px;font-weight:400}h2{line-height:1.25;letter-spacing:-1.3px}h3{line-height:1.3!important}.hero p{font-size:16px;line-height:1.8}.hero-copy{padding-top:20px}.eyebrow{font-weight:500;letter-spacing:1.5px;font-size:11px}.button{border-radius:28px;padding:15px 26px;font-size:14px;box-shadow:0 4px 15px #886e8612}.text-link{font-size:14px;border-color:#c9b8c2}.hero-art img{border-radius:46% 46% 12px 12px}.art-card .image-box{border-radius:65px 12px 12px 12px;background:#f0eae1}.art-card:nth-child(2n) .image-box{border-radius:12px 12px 65px 12px}.art-meta{align-items:center;font-size:15px;gap:8px}.art-meta .view-label{font-size:10px;border-bottom:1px solid #cbbdc6}.art-card small{font-size:12px}.filters button{font-size:14px;padding:8px 19px}.filters button.active{background:#886e86;border-color:#886e86}.section-head>p{font-size:15px}.intro p{font-size:30px;line-height:1.6}.steps article{border-bottom-style:dotted}.steps h3{font-size:22px}.steps p,.format p{font-size:14px}.format strong{font-size:15px}.class-copy>p,.commission p,.about p:not(.lead){font-size:16px}.class-photo{border-radius:100px 12px 12px 12px}.portrait-wrap img{border-radius:12px 100px 12px 12px}blockquote p{font-size:19px;line-height:1.7}.contact h2{line-height:1.22}.site-footer{font-size:12px}.header-link{font-size:14px}dialog{border-radius:22px}.close{border-radius:50%}@media(max-width:800px){h1{font-size:62px}.brand{font-size:18px}.intro p{font-size:24px}.art-meta{display:block}.view-label{display:block;width:max-content;margin-top:5px}.hero-art img{height:380px}nav{font-size:12px}}@media(max-width:420px){h1{font-size:51px;letter-spacing:-1.8px}h2{font-size:35px}.brand{font-size:16px}nav{font-size:10px}.brand span{font-size:7px}.hero p{font-size:15px}}

/* Replay the entrance each time a painting is opened. */
#art-dialog .close{position:sticky;top:8px;z-index:1;grid-area:1/1;justify-self:end;align-self:start;margin:8px 8px 0 0;min-width:44px;min-height:44px}
#art-dialog>img{grid-area:1/1}
@media (min-width:801px){
  #art-dialog .close{grid-area:1/2}
  #art-dialog .dialog-copy{grid-area:1/2}
}
@media (prefers-reduced-motion:no-preference){
  #art-dialog[open]{animation:art-reveal 220ms ease-out both}
  #art-dialog[open]::backdrop{animation:art-backdrop 220ms ease-out both}
  #art-dialog[open]>img{animation:art-image-reveal 300ms ease-out both}
}
@keyframes art-reveal{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes art-backdrop{from{opacity:0}to{opacity:1}}

@keyframes art-image-reveal{from{opacity:0}to{opacity:1}}
