:root{--cream:#f3e9d2;--parch:#ebdcbc;--ink:#1c1410;--brown:#3a2418;--saddle:#6e3a1e;--ox:#6b1f1f}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:400 1.15rem/1.6 "EB Garamond",Georgia,serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--ox)}
h1,h2,h3{font-weight:600;line-height:1.2;color:var(--brown)}
h2{font-size:2.2rem;text-align:center;margin:0 0 .3rem}
.wrap{max-width:1140px;margin:0 auto;padding:4.5rem 1.25rem}
.sub{text-align:center;max-width:620px;margin:0 auto 2.5rem;font-style:italic}
.nav{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:.6rem 1.25rem;background:var(--brown);border-bottom:2px dashed rgba(243,233,210,.35)}
.nav nav a{color:var(--cream);text-decoration:none;margin-left:1.4rem;letter-spacing:.06em;text-transform:uppercase;font-size:.95rem}
.nav nav a:hover{text-decoration:underline}
.nav-logo img{height:40px;width:auto}
.hero{padding:3rem 1.25rem;background:radial-gradient(ellipse at center,#f7efdc 0,var(--parch) 100%)}
.stitch{border:2px dashed var(--saddle);outline:6px solid transparent;border-radius:6px;box-shadow:0 0 0 10px var(--cream),0 0 0 11px rgba(110,58,30,.3)}
.hero .stitch{max-width:900px;margin:0 auto;padding:3rem 1.5rem;text-align:center;background:rgba(243,233,210,.6)}
.hero-logo{width:min(560px,90%);margin:0 auto 1.5rem}
.hero h1{font-size:clamp(1.6rem,3.5vw,2.4rem);margin:.5rem 0}
.lede{font-style:italic;margin:0 0 1.8rem}
.btn{display:inline-block;background:var(--ox);color:var(--cream);text-decoration:none;padding:.6rem 1.6rem;border:0;border-radius:3px;font:600 1rem "EB Garamond",serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;outline:1px dashed rgba(243,233,210,.6);outline-offset:-5px}
.btn:hover{background:var(--brown)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem}@media(min-width:900px){.grid{grid-template-columns:repeat(3,1fr);max-width:960px;margin:0 auto}}
.card{background:#fbf5e7;border:2px dashed rgba(110,58,30,.45);border-radius:6px;padding:.8rem .8rem 1.3rem;text-align:center}
.ph{aspect-ratio:3/4;overflow:hidden;border-radius:3px;background:var(--parch)}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .ph img{transform:scale(1.03)}
.card h3{margin:.9rem 0 .2rem;font-size:1.4rem}.card p{margin:0 0 1rem;font-size:1rem}
.about{background:var(--brown);color:var(--cream)}
.about h2{color:var(--cream)}
.stitch-light{max-width:820px!important;margin:3rem auto!important;padding:3rem 2rem!important;border:2px dashed rgba(243,233,210,.5);border-radius:6px;text-align:center;font-size:1.25rem}
.contact form{max-width:560px;margin:0 auto;padding:2rem;display:grid;gap:1rem;background:#fbf5e7}
label{display:grid;gap:.3rem;font-weight:600}
input,textarea{font:inherit;padding:.55rem .7rem;border:1px solid #c9b48c;border-radius:3px;background:#fffdf7}
.small{font-size:.95rem;text-align:center;margin:0}
footer{background:var(--ink);color:var(--cream);text-align:center;padding:2.5rem 1rem;font-size:.95rem}
footer img{width:180px;margin:0 auto .8rem}
@media(max-width:600px){.nav nav a{margin-left:.9rem;font-size:.85rem}.nav-logo img{height:32px}.wrap{padding:3rem 1rem}.stitch-light{padding:2rem 1.2rem!important}}
