:root{
  --blue:#0559b1; --blue-dark:#043f7e; --ink:#1f2328; --muted:#5f6670;
  --paper:#ffffff; --sand:#f6f3ee; --line:#e6e1d8;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.65 var(--sans)}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue)}
a:hover{color:var(--blue-dark)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;color:var(--ink);margin:0 0 .5em}
h1{font-size:clamp(2.1rem,4.5vw,3.1rem)}
h2{font-size:clamp(1.6rem,3vw,2.1rem)}
p{margin:0 0 1em}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px}
.muted{color:var(--muted)} .small{font-size:.9rem}

/* header */
.site-header{border-bottom:1px solid var(--line);background:var(--paper)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:18px;padding-bottom:18px;flex-wrap:wrap}
.logo img{width:220px}
.nav{display:flex;gap:6px 26px;flex-wrap:wrap}
.nav a{text-decoration:none;color:var(--ink);font-weight:600;font-size:1rem;letter-spacing:.02em;padding:4px 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--blue)}
.nav a[aria-current=page]{color:var(--blue);border-bottom-color:var(--blue)}

/* hero */
.hero{position:relative;background:var(--sand)}
.slides{position:relative;aspect-ratio:16/7;overflow:hidden;max-height:620px;width:100%}
.slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease}
.slide.is-on{opacity:1}

.intro{text-align:center;max-width:780px;padding-top:56px;padding-bottom:24px}
.intro p{font-size:1.15rem;color:#33383e}
.section-title{text-align:center;margin:48px 0 24px}

/* buttons */
.btn{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;font-weight:600;padding:12px 26px;border-radius:999px;border:2px solid var(--blue);margin:4px 4px 4px 0}
.btn:hover{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}
.btn-ghost{background:transparent;color:var(--blue)}
.btn-ghost:hover{background:var(--blue);color:#fff}
.btn-light{background:#fff;color:var(--blue);border-color:#fff}
.btn-light:hover{background:var(--sand);border-color:var(--sand);color:var(--blue-dark)}

/* tiles */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tile{position:relative;display:block;overflow:hidden;border-radius:6px;aspect-ratio:4/5;text-decoration:none}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.tile:hover img{transform:scale(1.04)}
.tile span{position:absolute;left:0;right:0;bottom:0;padding:40px 20px 18px;color:#fff;font:600 1.7rem/1 var(--serif);background:linear-gradient(transparent,rgba(0,0,0,.55))}

/* galleries */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:56px}
.gallery-3{grid-template-columns:repeat(3,1fr)}
.gallery figure{margin:0;overflow:hidden;border-radius:6px;aspect-ratio:1/1;background:var(--sand)}
.gallery img{width:100%;height:100%;object-fit:cover}

.band{background:var(--blue);color:#fff;margin-top:24px}
.band-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:40px;padding-bottom:40px;flex-wrap:wrap}
.band p{margin:0;font-size:1.2rem;max-width:720px}

/* collection */
.page-head{padding-top:48px;padding-bottom:12px}
.lede{font-size:1.15rem;color:#33383e}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 8px}
.chip{font:600 .95rem var(--sans);padding:8px 18px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.chip:hover{border-color:var(--blue);color:var(--blue)}
.chip.is-on{background:var(--blue);border-color:var(--blue);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:32px 24px;padding:24px 0 64px}
.card{display:block;text-decoration:none;color:var(--ink)}
.card[hidden]{display:none}
.card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px;background:var(--sand);transition:opacity .2s}
.card:hover img{opacity:.88}
.card-name{display:block;margin-top:10px;font-weight:600;line-height:1.35}
.card:hover .card-name{color:var(--blue)}
.price{display:block;color:var(--muted)}

/* piece */
.piece{padding-top:28px;padding-bottom:56px}
.crumbs{font-size:.95rem;color:var(--muted)}
.crumbs a{text-decoration:none}
.piece-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px;align-items:start}
.piece-main{width:100%;border-radius:6px;background:var(--sand)}
.thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.thumb{padding:0;border:2px solid transparent;border-radius:6px;background:none;cursor:pointer;width:84px;height:84px;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb.is-on{border-color:var(--blue)}
.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:24px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts dt{font-weight:600}
.facts dd{margin:0}
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:56px;padding-top:20px;border-top:1px solid var(--line);font-size:.95rem}
.pager a{text-decoration:none}

.big-email{font-size:clamp(1.2rem,3.5vw,1.6rem);font-weight:600;word-break:break-word}
.page-head h2{margin-top:40px}

/* footer */
.site-footer{background:var(--sand);border-top:1px solid var(--line);margin-top:0;font-size:.95rem}
.footer-inner{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:24px;padding-top:36px;padding-bottom:36px}

@media (max-width:820px){
  body{font-size:17px}
  .wrap{padding:0 16px}
  .header-inner{justify-content:center;text-align:center}
  .logo img{width:180px}
  .nav{justify-content:center}
  .slides{aspect-ratio:4/3}
  .tiles{grid-template-columns:1fr 1fr 1fr;gap:10px}
  .tile span{font-size:1.15rem;padding:30px 10px 10px}
  .gallery-3{grid-template-columns:1fr 1fr 1fr;gap:10px}
  .gallery{grid-template-columns:1fr 1fr;gap:10px}
  .grid{grid-template-columns:1fr 1fr;gap:24px 14px}
  .piece-grid{grid-template-columns:1fr;gap:24px}
  .footer-inner{grid-template-columns:1fr}
  .pager{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){.slide,.tile img{transition:none}}
