
:root{
  --ink:#1b1a18;
  --muted:#6c675f;
  --line:#d8d3cb;
  --paper:#fbfaf7;
  --accent:#9b7750;
  --max:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid rgba(27,26,24,.12);background:rgba(251,250,247,.96);position:sticky;top:0;z-index:50}
.brand{display:flex;flex-direction:column;line-height:1;letter-spacing:.18em;font-size:16px}
.brand small{font-size:9px;letter-spacing:.55em;margin-top:8px;color:var(--muted)}
.desktop-nav{display:flex;gap:30px;font-size:13px;letter-spacing:.05em}
.desktop-nav a{padding:35px 0;position:relative}
.desktop-nav a.active:after{content:"";position:absolute;bottom:22px;left:0;right:0;height:1px;background:var(--ink)}
.menu-toggle{display:none;background:none;border:0;font-size:25px}
.mobile-nav{display:none}
main{min-height:70vh}
.hero{max-width:var(--max);margin:0 auto;padding:7vw 5vw 8vw;display:grid;grid-template-columns:1.08fr .92fr;gap:7vw;align-items:center}
.hero-image img{width:100%;height:auto;display:block}
.hero-copy{max-width:560px}
.quote-rule{height:1px;background:var(--ink);width:100%;margin-bottom:38px}
.quote{font-family:Georgia,"Times New Roman",serif;font-size:22px;line-height:1.65}
.quote em{font-family:Arial,Helvetica,sans-serif;font-size:15px}
.page-intro{max-width:900px;margin:0 auto;padding:70px 5vw 35px}
.page-intro h1,.prose h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:44px;line-height:1.15;margin:0 0 16px}
.page-intro p{color:var(--muted);max-width:700px}
.gallery{max-width:var(--max);margin:0 auto;padding:30px 4vw 90px;columns:2 420px;column-gap:42px}
.gallery-item{break-inside:avoid;margin:0 0 42px}
.gallery-item img{width:100%;display:block}
.gallery-caption{text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:15px;margin-top:12px}
.prose{max-width:900px;margin:0 auto;padding:70px 5vw 100px}
.prose h2,.prose h3,.prose h4{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.25}
.prose h2{font-size:34px;margin:0 0 25px}
.prose h4{font-size:22px;margin:48px 0 18px}
.prose p{margin:0 0 18px}
.prose .lead{font-family:Georgia,"Times New Roman",serif;font-size:20px}
.about-grid{max-width:1100px;margin:0 auto;padding:70px 5vw 100px;display:grid;grid-template-columns:280px 1fr;gap:70px}
.about-image img{width:100%;display:block}
.about-copy h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:34px;margin:0 0 25px}
.work-links{max-width:1100px;margin:0 auto;padding:25px 5vw 100px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.work-card{border:1px solid var(--line);padding:35px 28px;min-height:170px;display:flex;flex-direction:column;justify-content:space-between;background:white}
.work-card h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:25px;margin:0}
.work-card span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.contact-box{max-width:760px;margin:0 auto;padding:75px 5vw 110px;text-align:center}
.contact-box h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:44px}
.mailchimp{margin-top:50px;padding:35px;border:1px solid var(--line);text-align:left;background:white}
.mailchimp h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;margin-top:0}
.mailchimp-note{font-size:13px;color:var(--muted)}
.form-row{display:flex;gap:10px;margin-top:20px}
.form-row input{flex:1;padding:13px;border:1px solid #bbb;background:white;font:inherit}
.button{padding:13px 20px;border:1px solid var(--ink);background:var(--ink);color:white;font:inherit;cursor:pointer}
.workshop-list{max-width:850px;margin:0 auto;padding:30px 5vw 100px}
.workshop{padding:28px 0;border-bottom:1px solid var(--line)}
.workshop h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;margin:0 0 8px}
.workshop p{margin:4px 0}
.note{color:var(--muted);font-size:13px}
.store-card{max-width:800px;margin:0 auto;padding:70px 5vw 110px;text-align:center}
.store-card img{max-width:650px;width:100%;margin-bottom:30px}
.site-footer{border-top:1px solid var(--line);padding:35px 5vw;display:flex;justify-content:space-between;color:var(--muted);font-size:13px}
.footer-links{display:flex;gap:22px}
@media(max-width:800px){
  .site-header{height:72px}
  .desktop-nav{display:none}
  .menu-toggle{display:block}
  .mobile-nav{display:none;position:fixed;top:72px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:10px 5vw;z-index:49}
  .mobile-nav.open{display:flex;flex-direction:column}
  .mobile-nav a{padding:12px 0;border-bottom:1px solid rgba(0,0,0,.08)}
  .hero{grid-template-columns:1fr;gap:45px;padding-top:45px}
  .quote{font-size:19px}
  .page-intro{padding-top:48px}
  .page-intro h1,.prose h1,.contact-box h1{font-size:36px}
  .gallery{columns:1;padding-left:5vw;padding-right:5vw}
  .about-grid{grid-template-columns:1fr;gap:35px}
  .about-image{max-width:320px}
  .work-links{grid-template-columns:1fr}
  .site-footer{flex-direction:column;gap:14px}
  .form-row{flex-direction:column}
}
