:root{--parchment:#F3EDE3;--ink:#1D1520;--quiet:#756A5F;--rule:rgba(29,21,32,.22);--panel:#E9E1D4}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--parchment);color:var(--ink);font-family:'Cormorant Garamond','Iowan Old Style',Georgia,serif;font-size:20px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:1px}
a:hover{border-bottom-color:var(--ink)}
a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
img{max-width:100%;height:auto;display:block}

/* hero (home) */
header.hero{min-height:82vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:12vh 24px 6vh}
.wordmark{font-weight:500;font-size:clamp(3.2rem,12vw,7.5rem);letter-spacing:.3em;margin-right:-.3em;line-height:1;animation:settle 1.6s ease-out both}
@keyframes settle{from{opacity:0;letter-spacing:.42em}to{opacity:1;letter-spacing:.3em}}
.house{margin-top:2.4rem;font-size:1.15rem;letter-spacing:.18em;margin-right:-.18em;font-variant:small-caps;color:var(--quiet)}
.descriptor{margin-top:3.2rem;font-style:italic;font-size:1.5rem}
.signature{margin-top:.9rem;font-size:1.05rem;letter-spacing:.14em;margin-right:-.14em;color:var(--quiet)}
.giftline{margin:2.6rem auto 0;max-width:560px;font-style:italic;font-size:1.1rem;color:var(--quiet)}

/* small header (inner pages) */
header.bar{text-align:center;padding:2.6rem 24px 0}
header.bar .mark{font-weight:500;font-size:1.9rem;letter-spacing:.3em;margin-right:-.3em;border:0}

/* nav */
nav.cats{text-align:center;padding:1.6rem 16px 2.2rem;font-size:1rem;letter-spacing:.08em;line-height:2.2}
nav.cats a{margin:0 .55em;white-space:nowrap;border-bottom-color:transparent;color:var(--quiet)}
nav.cats a:hover{color:var(--ink);border-bottom-color:var(--rule)}
nav.cats a[aria-current]{color:var(--ink);border-bottom-color:var(--ink)}

.rule{border:none;border-top:1px solid var(--rule);width:88px;margin:0 auto}
.page{max-width:880px;margin:0 auto;padding:0 24px}

/* gallery */
.gallery{padding:6rem 0 1rem}
figure{margin:0 auto 6rem;max-width:760px}
figure img{width:100%}
figcaption,.cap{margin-top:1.1rem;text-align:center;font-style:italic;font-size:1.05rem;color:var(--quiet)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 auto}
.pair img{width:100%;height:100%;object-fit:cover}

/* section text */
section.text{max-width:620px;margin:0 auto;padding:5.5rem 24px;text-align:center}
h2.sc{font-variant:small-caps;font-weight:500;font-size:1.2rem;letter-spacing:.22em;margin-right:-.22em;margin-bottom:2.2rem}
section.text p{margin-bottom:1.2rem}
.contact-lines{font-size:1.15rem;line-height:2.1}

/* collections grid */
.collections{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 20px;max-width:880px;margin:0 auto;padding:0 24px 5rem}
.collections a{border:0;display:block;text-align:center}
.collections .thumb{aspect-ratio:4/5;overflow:hidden;background:var(--panel)}
.collections .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.collections a:hover .thumb img{transform:scale(1.03)}
.collections .thumb.empty{display:flex;align-items:center;justify-content:center;font-style:italic;color:var(--quiet);font-size:.95rem}
.collections .name{margin-top:.8rem;font-variant:small-caps;letter-spacing:.14em;font-size:1.05rem}

/* product pages */
.intro{max-width:600px;margin:0 auto;padding:1rem 24px 4rem;text-align:center}
.intro h1{font-weight:500;font-size:clamp(2rem,6vw,2.8rem);letter-spacing:.06em;line-height:1.2;margin-bottom:1.2rem}
.intro p{color:var(--quiet);font-style:italic}
.product{max-width:760px;margin:0 auto 6.5rem;padding:0 24px}
.product .photos{display:grid;gap:20px}
.product .photos.two{grid-template-columns:1fr 1fr}
.product .photos.two img{width:100%;height:100%;object-fit:cover}
.placeholder{aspect-ratio:16/7;background:var(--panel);display:flex;align-items:center;justify-content:center;font-style:italic;color:var(--quiet)}
.details{text-align:center;margin-top:1.8rem}
.details h3{font-weight:500;font-size:1.6rem;letter-spacing:.05em}
.details .notes{font-style:italic;color:var(--quiet);margin-top:.2rem}
.details .desc{max-width:540px;margin:1rem auto 0}
.details .price{margin-top:1.1rem;font-size:1.3rem;letter-spacing:.04em}
.details .price .dot{color:var(--quiet);margin:0 .2em}
.details .pack{margin-top:.4rem;font-size:1rem;font-style:italic;color:var(--quiet)}
.order{display:inline-block;margin-top:1.4rem;padding:.7rem 1.6rem;border:1px solid var(--ink);font-size:1rem;letter-spacing:.14em;font-variant:small-caps}
.order:hover{background:var(--ink);color:var(--parchment)}
.status{display:inline-block;margin-top:1rem;font-variant:small-caps;letter-spacing:.18em;font-size:1rem;color:var(--quiet)}

/* maker */
.maker{max-width:620px;margin:0 auto;padding:1rem 24px 4rem}
.maker h1{text-align:center;font-weight:500;font-variant:small-caps;letter-spacing:.22em;margin-right:-.22em;font-size:1.4rem;margin-bottom:2.6rem}
.maker img{max-width:420px;margin:0 auto 3rem;width:100%}
.maker p{margin-bottom:1.2rem}
.back{text-align:center;padding:1rem 0 2rem}

footer{text-align:center;padding:3rem 24px 3.5rem;font-size:.95rem;letter-spacing:.12em;margin-right:-.12em;color:var(--quiet)}

@media (max-width:620px){
  body{font-size:19px}
  .pair,.product .photos.two{grid-template-columns:1fr;gap:28px}
  .collections{grid-template-columns:1fr 1fr}
}
