@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--paper:#f6f1e8;--cream:#fffdf8;--ink:#2e3029;--muted:#77776c;--sage:#dfe2d4;--olive:#72765c;--clay:#b77857;--line:#ded8cc;--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-family:var(--sans);font-size:14px;line-height:1.65}.announcement{background:var(--ink);color:#f8f3e9;text-align:center;padding:7px 16px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.site-header{height:88px;padding:0 6.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:28px}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;min-width:190px}.brand-mark{width:39px;height:39px;border:1px solid var(--olive);border-radius:50%;display:grid;place-items:center;font:italic 25px var(--serif);color:var(--olive)}.brand strong{display:block;font:600 20px var(--serif);line-height:1.2}.brand small{display:block;font-size:8px;letter-spacing:.2em;margin-top:4px}.site-header nav{display:flex;gap:32px}.site-header nav a,.footer a{color:var(--ink);text-decoration:none;font-size:12px}.site-header nav a:hover,.footer a:hover{color:var(--clay)}.nav-cta{font-size:11px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--olive);padding:9px 0}.nav-cta span{margin-left:12px}.menu-toggle{display:none;background:none;border:0;font-size:22px;color:var(--ink)}
.hero{min-height:620px;padding:74px 9% 82px;display:grid;grid-template-columns:1fr .95fr;gap:9%;align-items:center;overflow:hidden}.hero-copy{max-width:500px}.eyebrow{font-size:9px;letter-spacing:.2em;font-weight:700;color:var(--olive);margin:0 0 19px}.eyebrow span{display:inline-block;width:22px;height:1px;background:var(--clay);vertical-align:middle;margin-right:8px}.hero h1{font:500 clamp(45px,5vw,68px)/1.1 var(--serif);letter-spacing:-.04em;margin:0 0 24px}.hero h1 em,h2 em{color:var(--olive);font-weight:500}.hero-text{color:#68685e;font-size:14px;max-width:370px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:31px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:15px 19px;text-decoration:none;font-size:11px;letter-spacing:.03em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#4a4d3c}.text-link{font-size:11px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding:10px 0}.text-link span{margin-left:8px}.hero-note{display:flex;align-items:center;gap:12px;margin-top:54px}.note-star{font-size:27px;color:var(--clay)}.hero-note strong,.hero-note small{display:block}.hero-note strong{font-size:11px}.hero-note small{font-size:10px;color:var(--muted);margin-top:3px}.hero-art{position:relative;max-width:480px;width:100%;margin:auto}.art-frame{padding:13px 13px 0;background:#fffdf7;box-shadow:0 18px 55px #5a4c3510;transform:rotate(1.2deg)}.art-placeholder{aspect-ratio:4/4.4;background:linear-gradient(145deg,#e5e1d5,#f3eee4 55%,#e2ddcf);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#777663;border:1px solid #ded8cb}.placeholder-icon{font-size:30px;color:#a77b5d;margin-bottom:12px}.art-placeholder strong{font:500 22px var(--serif)}.art-placeholder small{font-size:10px;line-height:1.8;margin-top:8px}.frame-caption{display:flex;justify-content:space-between;padding:15px 5px 16px;font-size:8px;letter-spacing:.13em;color:#77776c}.floating-note{position:absolute;right:-28px;bottom:55px;background:#e0e2d5;padding:17px 20px;display:flex;align-items:center;gap:10px;font:italic 13px/1.45 var(--serif);box-shadow:0 8px 20px #00000008}.tiny-sun{font-size:24px;color:var(--olive)}.hero-side-label{position:absolute;right:-53px;top:40px;writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em;color:#858576}.intro-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:32px;padding:20px 12px;font-size:9px;letter-spacing:.18em;color:#6f705f;flex-wrap:wrap}.intro-strip i{font-style:normal;color:var(--clay);font-size:14px}.section{padding:100px 9%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:35px}.section-heading h2,.commission h2,.atelier h2,.contact h2{font:500 clamp(32px,3.6vw,46px)/1.2 var(--serif);letter-spacing:-.025em;margin:0}.section-heading>p{max-width:320px;color:var(--muted);font-size:12px;line-height:1.9;margin:0 0 4px}.filter-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:26px}.filter{border:1px solid var(--line);background:transparent;padding:10px 15px;font:11px var(--sans);color:#6d6d61;cursor:pointer}.filter.active,.filter:hover{background:var(--ink);border-color:var(--ink);color:#fff}.filter span{margin-left:10px;color:#c7c5b7}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.empty-art{aspect-ratio:4/4.8;background:#e7e3d8;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#878574;border:1px solid #dcd6c9;position:relative;overflow:hidden}.empty-art:before,.empty-art:after{content:"";position:absolute;width:80%;height:1px;background:#d7d1c3;transform:rotate(-35deg)}.empty-art:after{transform:rotate(35deg)}.empty-art>span{font-size:27px;color:#a27a5e;z-index:1}.empty-art small{z-index:1;font-size:8px;letter-spacing:.17em;text-align:center;line-height:1.8;margin-top:12px}.empty-art-two{background:#e1e4d8}.empty-art-three{background:#ede1d5}.work-info{display:flex;justify-content:space-between;align-items:start;padding:15px 0 5px}.work-info h3{font:500 18px var(--serif);margin:0 0 4px}.work-info p{font-size:10px;color:var(--muted);margin:0}.work-number{font:italic 16px var(--serif);color:#9b9a89}.gallery-footnote{font-size:10px;color:var(--muted);margin-top:29px}.gallery-footnote span{color:var(--clay);font-size:16px;margin-right:8px}.commission{background:#e5e4d9;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.commission-image{height:420px;background:#d4d5c8;position:relative;display:grid;place-items:center;overflow:hidden}.commission-image:before{content:"";position:absolute;inset:24px;border:1px solid #b9bba9}.paper-note{position:relative;z-index:1;width:64%;height:72%;background:#faf7ef;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:0 14px 40px #33332210;transform:rotate(-3deg)}.paper-note span{font-size:8px;letter-spacing:.18em;color:var(--olive)}.paper-note strong{font:500 31px/1.25 var(--serif);margin:15px 0}.paper-note i{font-style:normal;color:var(--clay);font-size:22px}.pencil{position:absolute;bottom:30px;width:12px;height:112px;border-radius:5px 5px 1px 1px;transform:rotate(34deg);background:linear-gradient(90deg,#75452f 0%,#b77857 18%,#d49a76 35%,#a96546 63%,#874e36 82%,#6e422f 100%);box-shadow:inset 1px 0 #fff5df75,inset -1px 0 #4a2d1e55,3px 5px 7px #3d30251c;z-index:2}
.pencil:before{content:"";position:absolute;left:0;bottom:-20px;width:100%;height:22px;background:linear-gradient(90deg,#9b7959 0%,#e1c8a4 30%,#f0d9b6 48%,#b58e67 100%);clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 2px 1px #4d3b2a30)}
.pencil:after{content:"";position:absolute;left:50%;bottom:-20px;transform:translateX(-50%);width:2px;height:5px;background:#4b4034;clip-path:polygon(50% 0,100% 100%,0 100%)}
.pencil-one{right:15%;background:linear-gradient(90deg,#454a35 0%,#7b815f 18%,#a0a17a 36%,#777b59 63%,#555b40 84%,#40452f 100%);bottom:8px;transform:rotate(34deg)}
.pencil-two{right:22%;background:linear-gradient(90deg,#8a5b27 0%,#c18b4a 18%,#e0b66f 36%,#c18b4a 62%,#9b6c35 83%,#785027 100%);bottom:2px;transform:rotate(27deg)}
.pencil-three{left:15%;background:linear-gradient(90deg,#75452f 0%,#b77857 18%,#d49a76 35%,#a96546 63%,#874e36 82%,#6e422f 100%);bottom:12px;transform:rotate(-33deg)}
.commission-image{isolation:isolate}
.commission-image:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 75%,#fff7e51a,transparent 55%);pointer-events:none}.commission-copy>p:not(.eyebrow){font-size:12px;line-height:2;color:#68695f;max-width:430px;margin:24px 0 28px}.atelier{display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:center}.atelier-body>p{font:16px/1.9 var(--serif);color:#65665c;margin:0}.atelier-signature{font:italic 30px var(--serif);color:var(--olive);margin-top:25px}.atelier-signature span{font-size:18px;color:var(--clay);margin-left:10px}.contact{background:var(--ink);color:#f7f2e8;display:grid;grid-template-columns:1fr .75fr;gap:12%;align-items:center}.contact .eyebrow{color:#c7c7a9}.contact h2{font-size:48px}.contact>div>p:not(.eyebrow){color:#c5c4b7;font-size:12px;max-width:370px;line-height:1.9}.contact-card{border:1px solid #5b5c4e;padding:27px}.contact-label{font-size:8px;letter-spacing:.2em;color:#c7c7a9}.contact-hint{font-size:11px;color:#c5c4b7;line-height:1.8}.button-light{background:#f7f2e8;color:var(--ink);margin:10px 0}.contact-card small{display:block;font-size:9px;color:#a9aa9b}.footer{padding:32px 6.5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-footer{min-width:unset}.brand-footer .brand-mark{width:32px;height:32px;font-size:20px}.brand-footer strong{font-size:17px}.footer>p{font-size:10px;color:var(--muted)}.footer>div{display:flex;gap:20px}.footer>div a{font-size:10px}
@media(max-width:900px){.site-header{padding:0 5%;gap:15px}.site-header nav{gap:15px}.nav-cta{display:none}.hero{padding:60px 7%;gap:5%}.section{padding:75px 7%}.floating-note{right:-10px}.hero-side-label{right:-24px}.commission{gap:6%}.commission-image{height:360px}}
@media(max-width:650px){.announcement{font-size:8px}.site-header{height:72px}.brand{min-width:unset}.site-header nav{display:none;position:absolute;top:112px;left:0;right:0;background:var(--cream);padding:22px 7%;z-index:5;flex-direction:column;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding:54px 7% 65px;gap:45px}.hero h1{font-size:48px}.hero-note{margin-top:35px}.hero-art{max-width:390px}.hero-side-label{right:-12px}.intro-strip{gap:12px;font-size:7px}.section{padding:65px 7%}.section-heading{display:block}.section-heading>p{margin-top:18px}.gallery-grid{grid-template-columns:1fr 1fr;gap:15px}.gallery-grid .empty-work:last-child{display:none}.work-info h3{font-size:15px}.filter{padding:9px 11px;font-size:10px}.commission{grid-template-columns:1fr;gap:35px}.commission-image{height:330px}.commission h2{font-size:36px}.atelier{grid-template-columns:1fr;gap:25px}.atelier h2{font-size:36px}.contact{grid-template-columns:1fr;gap:25px}.contact h2{font-size:42px}.footer{padding:25px 7%;flex-wrap:wrap}.footer>p{order:3;width:100%;margin:0}.footer>div{gap:12px}.footer>div a{font-size:9px}}


/* Refined portrait-frame hero: no pencil decoration */
.commission-image{height:430px;background:linear-gradient(135deg,#ded8ca 0%,#f1eadc 48%,#d9d2c3 100%);padding:22px;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden}
.commission-image:before{inset:22px;border:1px solid #c9c0af;pointer-events:none}
.commission-image:after{background:radial-gradient(ellipse at 50% 45%,#fff9ec55,transparent 68%)}
.portrait-frame{position:relative;z-index:1;width:84%;height:88%;padding:11px;background:linear-gradient(135deg,#a69b83,#e4dac6 18%,#b8aa91 38%,#f0e7d6 60%,#a89b84);box-shadow:0 16px 32px #4c40301f, inset 0 0 0 1px #8e826c;display:flex}
.portrait-mat{width:100%;border:1px solid #e4dac9;background:linear-gradient(145deg,#f9f5ed,#f2ece1);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;color:var(--ink)}
.portrait-mat span{font-size:9px;letter-spacing:.22em;color:#77745f;margin-bottom:20px}
.portrait-mat strong{font:500 clamp(22px,2.2vw,32px)/1.35 var(--serif);letter-spacing:-.02em}
@media(max-width:650px){.commission-image{height:340px;padding:18px}.commission-image:before{inset:18px}.portrait-frame{width:86%;height:88%;padding:8px}.portrait-mat span{font-size:8px;margin-bottom:14px}.portrait-mat strong{font-size:25px}}
