@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&family=Work+Sans:wght@400;500;600&display=swap');

:root {
  --bottle: #2F4538;
  --bottle-d: #223328;
  --brass: #B08D57;
  --brass-d: #93733F;
  --ivory: #F3EDE3;
  --paper: #FBF8F2;
  --ink: #26241F;
  --rose: #B8776B;
  --placeholder: #9A9280;
}
* { box-sizing:border-box; }
body { margin:0; background:var(--ivory); color:var(--ink); font-family:'Work Sans',sans-serif; font-size:17px; line-height:1.7; }
h1,h2,h3,.logo { font-family:'Fraunces',serif; }
h1 { font-size:clamp(2.4rem,5vw,4rem); font-weight:600; line-height:1.1; margin:0 0 .7rem; font-style:italic; }
h2 { font-size:clamp(1.7rem,3vw,2.3rem); font-weight:600; margin:0 0 1rem; }
h3 { font-size:1.2rem; font-weight:600; margin:0 0 .4rem; }
p { margin:0 0 1.1rem; max-width:58ch; }
.placeholder { color:var(--placeholder); font-style:italic; }
.wrap { max-width:1040px; margin:0 auto; padding:0 1.6rem; }
.eyebrow { font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--brass-d); font-weight:600; display:block; margin-bottom:.7rem; }
.pattern-band { height:14px; background-image: repeating-linear-gradient(135deg, var(--brass) 0 6px, transparent 6px 18px); background-color: var(--bottle); }
header { background:var(--paper); border-bottom:1px solid #E3DACB; }
.nav-row { display:flex; align-items:center; justify-content:space-between; padding:1.3rem 1.6rem; max-width:1040px; margin:0 auto; }
.logo { color:var(--bottle); text-decoration:none; font-size:1.4rem; font-weight:600; font-style:italic; }
nav ul { list-style:none; display:flex; gap:2rem; margin:0; padding:0; }
nav a { color:var(--ink); text-decoration:none; font-size:.9rem; font-weight:500; border-bottom:1px solid transparent; }
nav a:hover, nav a[aria-current="page"] { border-color:var(--rose); color:var(--rose); }
.btn { display:inline-block; padding:.85rem 1.7rem; border-radius:2px; font-weight:600; font-size:.9rem; text-decoration:none; border:1.5px solid transparent; font-family:'Work Sans',sans-serif; }
.btn-primary { background:var(--bottle); color:var(--paper); }
.btn-primary:hover { background:var(--bottle-d); }
.btn-outline { border-color:var(--bottle); color:var(--bottle); }
.hero { background:var(--paper); padding:4.5rem 0 3.5rem; }
.hero p.lede { font-size:1.15rem; max-width:48ch; }
.cta-row { display:flex; gap:1rem; margin-top:1.8rem; flex-wrap:wrap; }
section { padding:4rem 0; }
.section-bottle { background:var(--bottle); color:var(--ivory); }
.section-bottle .placeholder { color:#B7C4AF; }
.section-bottle .eyebrow { color:var(--brass); }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.swatch-row { display:flex; gap:.8rem; margin:1.6rem 0; flex-wrap:wrap; }
.swatch { width:44px; height:44px; border-radius:50%; border:2px solid var(--paper); box-shadow:0 0 0 1px #D9CFBB; }
.service-list { list-style:none; padding:0; margin:1.5rem 0; }
.service-list li { padding:1rem 0; border-bottom:1px solid rgba(255,255,255,.15); font-family:'Fraunces',serif; font-size:1.15rem; }
.filter-row { display:flex; gap:.7rem; flex-wrap:wrap; margin:1.5rem 0 2rem; }
.filter-row .tag { border:1px solid var(--bottle); border-radius:999px; padding:.35rem 1rem; font-size:.8rem; }
.filter-row .tag.is-brass { border-color:var(--brass); color:var(--brass-d); background:rgba(176,141,87,.1); }
.portfolio-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.3rem; margin-top:1rem; }
.thumb { aspect-ratio:4/5; background:linear-gradient(160deg,var(--rose),var(--brass)); border-radius:2px; display:flex; align-items:center; justify-content:center; color:rgba(251,248,242,.75); font-size:.8rem; letter-spacing:.04em; }
.info-block { margin-bottom:1.4rem; }
.info-block h3 { margin-bottom:.15rem; }
.info-block p { margin:0; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
.field { margin-bottom:1.1rem; }
.field label { display:block; font-size:.8rem; text-transform:uppercase; letter-spacing:.05em; margin-bottom:.4rem; color:var(--brass-d); }
.field input, .field textarea { width:100%; padding:.75rem .85rem; border:1px solid #D9CFBB; border-radius:2px; background:var(--paper); font-family:'Work Sans',sans-serif; font-size:1rem; color:var(--ink); }
.field textarea { min-height:110px; resize:vertical; }
footer { background:var(--bottle-d); color:#C9CFC4; padding:2.2rem 0; font-size:.88rem; text-align:center; }
footer a { color:var(--ivory); }
@media (max-width:820px){ .two-col,.contact-grid{grid-template-columns:1fr;} .portfolio-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ nav ul{gap:1rem;} .portfolio-grid{grid-template-columns:1fr;} }
.thumb img { width:100%; height:100%; object-fit:cover; border-radius:2px; display:block; }
.thumb.is-hidden { display:none; }

