:root {
  color-scheme: light;
  --plum: #432250;
  --ink: #342036;
  --cream: #fffaf2;
  --lilac: #c9a6e8;
  --lilac-light: #f2e8ff;
  --pink: #ef90b8;
  --pink-deep: #bd4a82;
  --butter: #f4db95;
  --line: rgba(67,34,80,.18);
  font-family: 'Trebuchet MS', 'Segoe UI', sans-serif;
  color: var(--ink);
  background: var(--cream);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; }
a { color: inherit; text-decoration: none; }
.announcement { padding: .65rem 1rem; text-align: center; background: var(--plum); color: white; font-size: .86rem; letter-spacing: .04em; }
.announcement span { color: var(--pink); margin-left: 5px; }
.site-header { height: 82px; max-width: 1240px; padding: 0 42px; margin: auto; display:flex; align-items:center; justify-content:space-between; }
.wordmark { display:flex; flex-direction:column; line-height:1; }
.wordmark-name { font-weight:800; font-size:1.35rem; letter-spacing:-.055em; }
.wordmark-name i { color:var(--pink-deep); font-style:normal; padding:0 .1em; }
.wordmark-sub { margin-top:5px; font-size:.62rem; font-weight:700; letter-spacing:.25em; }
nav { display:flex; align-items:center; gap:2rem; font-size:.9rem; font-weight:700; }
nav a:hover, .back-top:hover,.email-link:hover { color:var(--pink-deep); }
.nav-order { border-bottom:1px solid var(--plum); padding-bottom:4px; }
.nav-order span { color:var(--pink-deep); padding-left:4px; }
.hero { max-width:1240px; min-height:570px; padding:58px 42px 76px; margin:auto; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:56px; }
.hero-copy { padding:15px 0 15px 4.5%; position:relative; z-index:1; }
.eyebrow { font-size:.72rem; font-weight:800; letter-spacing:.17em; color:var(--pink-deep); margin:0 0 18px; }
.eyebrow span { font-size:1rem; margin-right:7px; }
h1,h2,h3,p { margin-top:0; }
h1 { font-family:Georgia,serif; font-size:clamp(3.2rem,6vw,5.65rem); line-height:1.02; letter-spacing:-.065em; margin:0 0 24px; font-weight:600; }
h1 em,h2 em { font-family:Georgia,serif; font-weight:500; color:var(--pink-deep); letter-spacing:-.045em; }
.hero-intro { max-width:400px; font-size:1.08rem; line-height:1.65; color:#755b76; margin-bottom:28px; }
.button { display:inline-flex; align-items:center; gap:20px; padding:15px 20px; border-radius:3px; font-size:.92rem; font-weight:700; transition:transform .2s, background .2s; }
.button:hover { transform:translateY(-2px); }
.button-dark { background:var(--plum); color:white; }
.button-dark:hover { background:#613673; }
.button span { color:var(--pink); font-size:1.1rem; }
.signature { margin:30px 0 0; color:#826c85; font-family:Georgia,serif; font-style:italic; font-size:1.05rem; }
.signature span { color:var(--pink-deep); font-family:sans-serif; font-size:1.25rem; margin-left:4px; }
.hero-label { margin:0; padding:18px; max-width:505px; width:100%; justify-self:center; background:var(--lilac-light); border:1px solid rgba(67,34,80,.12); box-shadow:18px 18px 0 var(--lilac); transform:rotate(1.5deg); }
.hero-label img { width:100%; display:block; height:auto; }
.hero-label figcaption { text-align:center; font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; font-weight:800; padding:13px 0 0; color:var(--plum); }
.collection { border-top:1px solid var(--line); max-width:1156px; margin:auto; padding:82px 0 100px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:36px; }
.section-heading .eyebrow { margin-bottom:12px; }
h2 { font-family:Georgia,serif; font-size:clamp(2.2rem,4vw,3.3rem); line-height:1.08; letter-spacing:-.055em; font-weight:600; margin:0; }
.section-note { max-width:400px; color:#755b76; font-size:1rem; line-height:1.6; margin:0 0 4px; }
.catalogue-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 24px; }
.product-card { min-width:0; }
.product-photo { display:block; overflow:hidden; background:var(--lilac-light); aspect-ratio:4/5; border-radius:2px; }
.product-photo.product-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:minmax(0,1fr); gap:4px; }
.product-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s; }
.product-photo:hover img { transform:scale(1.035); }
.product-info { display:flex; align-items:end; justify-content:space-between; gap:10px; padding-top:12px; }
.product-type { font-size:.65rem; font-weight:800; letter-spacing:.15em; color:var(--pink-deep); }
.product-info h3 { font-size:1.08rem; letter-spacing:-.025em; margin:4px 0 0; line-height:1.25; }
.ask-link { font-size:.78rem; font-weight:700; white-space:nowrap; border-bottom:1px solid var(--line); padding-bottom:3px; }
.ask-link span { color:var(--pink-deep); padding-left:3px; }
.ask-link:hover { color:var(--pink-deep); }
.order-band { max-width:1156px; margin:0 auto 78px; background:var(--butter); display:flex; align-items:center; padding:36px 42px; gap:28px; }
.order-mark { width:78px; height:78px; flex:0 0 78px; background:var(--lilac-light); border-radius:50%; overflow:hidden; position:relative; }
.order-mark img { position:absolute; width:154%; height:154%; max-width:none; left:-27%; top:-20%; object-fit:cover; display:block; }
.order-copy { flex:1; }
.order-copy .eyebrow { margin-bottom:8px; }
.order-copy h2 { font-size:1.75rem; margin-bottom:6px; }
.order-copy p:last-child { color:#755b76; margin:0; line-height:1.5; }
.contact-actions { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.email-link { font-size:.85rem; font-weight:700; }
footer { border-top:1px solid var(--line); max-width:1240px; margin:auto; min-height:82px; padding:18px 42px; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:.86rem; }
.footer-brand { font-weight:800; }
.footer-brand span { font-weight:400; color:#826c85; padding-left:5px; }
footer p { margin:0; color:#826c85; }
footer p span { color:var(--pink-deep); }
.back-top { font-weight:700; }
@media (max-width:900px) {
  .hero { min-height:500px; padding:48px 28px 66px; gap:32px; }
  .hero-copy { padding-left:0; }
  .hero-label { max-width:390px; }
  .collection,.order-band { margin-left:28px; margin-right:28px; }
  .collection { padding-top:64px; }
  .catalogue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; }
}
@media (max-width:600px) {
  .announcement { font-size:.78rem; }
  .site-header { height:72px; padding:0 20px; }
  nav { gap:0; }
  nav a:first-child { display:none; }
  nav .nav-order { font-size:.82rem; }
  .wordmark-name { font-size:1.2rem; }
  .hero { display:flex; flex-direction:column; align-items:stretch; padding:43px 20px 56px; gap:32px; }
  .hero-copy { padding:0; }
  h1 { font-size:clamp(3.25rem,14vw,4.35rem); }
  .hero-intro { font-size:1rem; }
  .hero-label { max-width:400px; padding:12px; box-shadow:10px 10px 0 var(--lilac); }
  .hero-label figcaption { font-size:.64rem; padding-top:10px; }
  .collection { margin:0; padding:57px 20px 66px; }
  .section-heading { align-items:flex-start; flex-direction:column; gap:15px; margin-bottom:26px; }
  h2 { font-size:2.55rem; }
  .catalogue-grid { gap:25px 13px; }
  .product-info { align-items:flex-start; flex-direction:column; gap:8px; }
  .product-info h3 { font-size:1rem; }
  .ask-link { font-size:.74rem; }
  .order-band { margin:0 20px 52px; padding:25px; flex-wrap:wrap; gap:16px; }
  .order-mark { width:58px; height:58px; flex-basis:58px; font-size:1.3rem; }
  .order-copy { min-width:calc(100% - 80px); }
  .order-copy h2 { font-size:1.5rem; }
  .contact-actions { margin-left:74px; }
  footer { padding:18px 20px; flex-wrap:wrap; font-size:.8rem; }
  footer p { display:none; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; } }
