:root{--blue:#2d5790;--ink:#233c59;--yellow:#efcf72;--cream:#eae7df;--white:#f7f6f0;--line:#c7cbc9;--gutter:clamp(24px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:'Nunito Sans',sans-serif;font-size:17px;line-height:1.65}h1,h2,h3,h4,.footer-brand{font-family:Sansita,Georgia,serif;font-weight:400;line-height:1.05;color:var(--blue);letter-spacing:-.035em}h1{font-size:clamp(3.4rem,6.8vw,6.3rem);margin:0 0 32px}h2{font-size:clamp(2.8rem,4.7vw,4.8rem);margin:0 0 28px}h3{font-size:clamp(1.7rem,2.4vw,2.5rem);margin:22px 0 8px}h4{font-size:1.7rem}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.065em}p{margin:0 0 24px}a{color:inherit;text-underline-offset:6px;text-decoration-thickness:1px}a:hover{color:var(--blue)}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}:focus-visible{outline:3px solid currentColor;outline-offset:6px}.skip{position:absolute;top:-100px;left:12px;padding:12px;background:white;z-index:20}.skip:focus{top:10px}
.header{min-height:100px;padding:25px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--white);border-bottom:1px solid var(--line)}.brand{width:290px;max-width:38%}.logo{width:100%;height:auto}.header nav{display:flex;gap:34px;align-items:center;font-size:15px}.header nav a{text-decoration:none;padding:8px 0}.header nav a:hover,.header nav a[aria-current]{text-decoration:underline}.header nav a:last-child{border-bottom:1px solid currentColor}.menu-toggle{display:none;background:transparent;border:1px solid var(--ink);border-radius:30px;padding:8px 18px;color:var(--ink)}
.hero{background:var(--yellow);padding:70px var(--gutter) 0;display:grid;grid-template-columns:1.05fr 1fr;column-gap:6%;align-items:center}.hero-panel{padding:30px 0 55px;position:relative;z-index:1}.hero h1{font-size:clamp(3.2rem,5.8vw,6.3rem);margin-bottom:30px}.hero-panel>p:not(.eyebrow){font-size:18px}.hero-art{margin:0;padding:0}.hero-image{width:100%;height:clamp(380px,38vw,590px);object-fit:cover;border-radius:48% 48% 2px 2px;object-position:52% center}.hero-art figcaption{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-top:14px}.hero-art figcaption span:first-child{text-transform:uppercase;letter-spacing:.12em}.hero-foot{grid-column:1/-1;border-top:1px solid #9a8956;display:flex;justify-content:space-between;padding:23px 0;margin-top:45px;font-size:14px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;margin-bottom:24px}.button{display:inline-flex;gap:35px;justify-content:space-between;align-items:center;background:var(--blue);color:var(--white);border:1px solid var(--blue);border-radius:40px;padding:15px 28px;text-decoration:none;font-size:15px;font-weight:600;min-height:54px;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:var(--ink);color:white;transform:translateY(-2px)}.button:disabled{opacity:.6;cursor:not-allowed;transform:none}.section{padding:105px max(var(--gutter),calc((100vw - 1280px)/2))}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:55px}.section-heading h2{margin:0}.text-link{font-size:15px}.cards{display:grid;grid-template-columns:1.1fr .85fr;gap:9%;align-items:start}.piece{text-decoration:none;display:block}.piece img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--cream);transition:filter .25s}.cards>.piece:nth-child(2){padding-top:125px}.cards>.piece:nth-child(2) img{aspect-ratio:4/5}.piece:hover img{filter:brightness(.94)}.piece span{font-size:14px;text-decoration:underline}.piece h3{border-top:1px solid var(--line);padding-top:20px}
.welcome{background:var(--blue);color:var(--white);display:grid;grid-template-columns:.85fr 1fr;gap:12%;align-items:center}.welcome h2{color:var(--white)}.welcome a:hover{color:var(--yellow)}.portrait-wrap{padding:18px;background:var(--white);transform:rotate(-3deg);max-width:440px}.portrait{width:100%;height:auto;object-fit:cover;object-position:center}.portrait-wrap .portrait{aspect-ratio:3/4}.welcome .button{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.welcome .button:hover{background:var(--white);color:var(--ink)}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px}.signature{font-family:Georgia,serif;font-style:italic;font-size:28px}.commission-banner{text-align:center;padding:100px 24px;background:var(--yellow)}.commission-banner h2{font-size:clamp(4rem,8vw,8rem);line-height:.98}.commission-banner p:not(.eyebrow){max-width:410px;margin:28px auto}.commission-banner .button{background:transparent;color:var(--ink);border-color:var(--ink)}.commission-banner .button:hover{background:var(--blue);color:var(--white)}
footer{padding:75px var(--gutter) 25px;display:grid;grid-template-columns:1.2fr 1fr;gap:50px;font-size:15px}.footer-brand{font-size:clamp(3.5rem,7vw,6rem);text-decoration:none;display:inline-block;margin-bottom:24px;line-height:.85}.footer-brand span{display:block;font-family:'Nunito Sans',sans-serif;font-size:14px;letter-spacing:.4em;text-transform:uppercase;margin-top:20px}.footer-label{font-weight:700;margin-bottom:16px}.socials{display:flex;gap:24px;margin-top:20px}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;font-size:13px}
.page-intro{padding:85px var(--gutter) 45px;max-width:1440px;margin:auto}.page-intro h1{margin-top:20px}.page-intro p{max-width:600px}.prose p{margin-bottom:26px}.prose{max-width:700px}.about-main{display:grid;grid-template-columns:.85fr 1.2fr;gap:10%;align-items:start}.about-main .portrait{position:sticky;top:30px;margin-top:15px;border-radius:46% 46% 2px 2px;max-height:680px;object-fit:cover}.about-main h1{font-size:clamp(4rem,7vw,7rem);margin-bottom:40px}.why{background:var(--yellow);display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.why img{margin-top:40px;max-width:320px;mix-blend-mode:multiply}.why h4{margin:0 0 16px}.why h4~p strong{font-weight:400}.why .prose{padding-top:8px}.form-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.form-layout h1{font-size:clamp(3rem,5vw,5rem);overflow-wrap:break-word}.form-layout a{overflow-wrap:anywhere}.inquiry-form{border-top:1px solid var(--blue);padding-top:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 22px}.field{display:flex;flex-direction:column;gap:12px;font-size:15px;font-weight:600}.field.full,.form-grid>.full{grid-column:1/-1}input,select,textarea{width:100%;border:0;border-bottom:1px solid #8897a6;background:#eeeee8;color:var(--ink);padding:14px;border-radius:0;min-height:50px}textarea{resize:vertical;min-height:170px}.privacy-note{font-size:14px;margin:0}.form-status{margin:20px 0 0;font-weight:700}.form-status:empty{display:none}.form-status[data-error]{color:#9a2d21}.form-unavailable{border-left:3px solid var(--blue);padding:16px;background:var(--cream)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.photo-grid img{width:100%;aspect-ratio:3/4;object-fit:cover}.photo-grid img:nth-child(2){margin-top:40px}.detail-photo{width:100%;max-height:850px;object-fit:contain;background:var(--cream);margin-bottom:30px}.narrow{max-width:900px;margin:0 auto;padding:80px 24px}.narrow h1{margin-top:30px}.narrow h2{font-size:2.8rem;margin-top:50px}.blog-cover{width:100%;aspect-ratio:4/3;object-fit:cover;margin:30px 0}.post-images{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:40px 0}.post-images img{width:100%;aspect-ratio:1;object-fit:cover}[hidden]{display:none!important}
@media(min-width:1700px){.hero{column-gap:100px;padding-left:calc((100vw - 1500px)/2);padding-right:calc((100vw - 1500px)/2)}}
@media(max-width:960px){.header{gap:16px;flex-wrap:wrap;min-height:85px}.brand{width:265px;max-width:calc(100% - 90px)}.js .menu-toggle{display:block}.header nav{width:100%;flex-wrap:wrap;gap:8px 24px;padding-top:12px}.js .header nav:not(.open){display:none}.hero{gap:4%;padding-top:45px}.hero h1{font-size:clamp(2.5rem,5.7vw,4.5rem)}.hero-art figcaption span:last-child{display:none}.section{padding-top:75px;padding-bottom:75px}.cards{gap:6%}.cards>.piece:nth-child(2){padding-top:80px}.form-layout{gap:5%}.form-layout h1{font-size:3.4rem}.about-main{gap:7%}}
@media(max-width:650px){body{font-size:16px}.header{padding:22px var(--gutter)}.hero{grid-template-columns:1fr;padding-top:40px}.hero-panel{padding:0 0 38px}.hero h1{font-size:clamp(2.6rem,10.8vw,4.4rem);margin-bottom:24px}.hero-panel>p:not(.eyebrow){font-size:16px}.hero-art{width:88%;margin-left:auto}.hero-image{height:auto;aspect-ratio:4/5}.hero-foot{margin-top:30px;font-size:12px;gap:20px}.hero-foot span:last-child{text-align:right}.hero-art figcaption{font-size:12px}.hero-art figcaption span:last-child{display:block}.eyebrow{font-size:12px;letter-spacing:.1em}.section{padding:60px var(--gutter)}.section-heading{align-items:start;flex-direction:column;gap:18px;margin-bottom:35px}.cards{gap:50px;grid-template-columns:1fr}.cards>.piece:nth-child(2){padding-top:0;width:90%;margin-left:auto}.cards>.piece:nth-child(2) img{aspect-ratio:1}.welcome,.about-main,.why,.form-layout{grid-template-columns:1fr;gap:45px}.welcome{padding-top:75px;padding-bottom:75px}.portrait-wrap{width:86%;margin:0 auto}.about-main .portrait{position:static;max-height:550px;width:85%;margin:0 auto}.about-main h1{font-size:4rem}.photo-grid{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:1fr}.field{grid-column:1/-1}.form-layout h1{font-size:3.4rem}footer{grid-template-columns:1fr;overflow-wrap:anywhere;padding-top:55px;gap:35px}.footer-brand{font-size:4.2rem}.footer-bottom{font-size:12px;gap:20px}.page-intro{padding-top:50px}.page-intro h1{font-size:3.3rem;overflow-wrap:break-word}.post-images{gap:12px}.narrow{padding-top:50px}.narrow h1{font-size:3.6rem}.commission-banner{padding:70px 24px}.commission-banner h2{font-size:4.5rem}.why img{max-width:250px}.actions{gap:20px}.hero-panel .button{min-width:225px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Give the shorter, more personal copy room without filler captions. */
.hero{padding-bottom:60px}.hero-panel>p:not(.eyebrow){max-width:380px}.commission-banner h2{font-size:clamp(2.7rem,7vw,6.5rem)}
/* New studio photographs retain their full product framing. */
.hero-image{object-fit:contain;background:#e2e3e2}
.cards .piece img{aspect-ratio:3/4;object-fit:contain;background:#e2e3e2}
.cards>.piece:nth-child(2) img{aspect-ratio:3/4}
.gallery-section{padding-top:10px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 30px}
.catalog-grid .piece img{aspect-ratio:3/4;object-fit:contain;background:#e2e3e2}
.catalog-grid h3{font-size:1.75rem}
.piece-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-bottom:35px}
.piece-views.single-view{max-width:680px;grid-template-columns:1fr;margin-inline:auto}
.product-view{width:100%;height:auto;object-fit:contain;background:#e2e3e2}
.photo-grid>a:nth-child(2){margin-top:40px}
.photo-grid>a img{margin-top:0;object-fit:contain}
@media(max-width:1000px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.catalog-grid{grid-template-columns:1fr;gap:38px}.piece-views{grid-template-columns:1fr;gap:20px}}
.hero-image{object-fit:cover;object-position:center 60%}
