@font-face {
  font-family: 'Noto Sans TC';
  src: url('/assets/fonts/noto-sans-tc.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: 'Dancing Script';
  src: url('/assets/fonts/dancing-script.ttf') format('truetype');
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
:root {
  --s-font-16931657: 'Noto Sans TC', sans-serif;
  --s-font-15a7791a: 'Noto Sans TC', sans-serif;
  --s-font-fbb6ab74: 'Noto Sans TC', sans-serif;
  --s-font-f7b78b0e: 'Noto Sans TC', sans-serif;
  --s-font-b494eec6: 'Dancing Script', cursive;
}
body, button, .text, .richText {
  font-family: 'Noto Sans TC', sans-serif;
  font-weight: 400;
  letter-spacing: .045em;
}
.text.body-copy, .richText.body-copy {
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: .055em;
  height: auto;
}
.text.script-heading {
  font-family: 'Dancing Script', cursive;
  font-size: clamp(52px, 5.5vw, 68px);
  font-weight: 600;
  font-style: normal;
  letter-spacing: .015em;
  line-height: 1.3;
  height: auto;
  min-height: 1.3em;
  overflow: visible;
  white-space: nowrap;
  color: #fff;
}
body:has(#contact) :is(.sd-20, .sd-80, .sd-85, .sd-90) {
  font-weight: 400;
  font-size: 14px;
  letter-spacing: .12em;
}
body:has(#contact) :is(.sd-17, .sd-77, .sd-82, .sd-87) {
  gap: 4px;
}
.symbol-1__sd-6 {white-space: nowrap; max-width: none; width: auto; letter-spacing: .02em;}
.text.product-script {
  font-family: 'Dancing Script', cursive;
  font-size: clamp(36px, 3.5vw, 46px);
  font-weight: 600;
  line-height: 1.22;
  letter-spacing: .01em;
  color: #fff;
  height: auto;
  min-height: 1.22em;
  overflow: visible;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
}
.product-caption > .product-script + .text {
  margin-top: -12px;
  position: relative;
  z-index: 1;
}
a.collection-button {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 18px;
  box-sizing: border-box;
  width: fit-content;
  max-width: calc(100% - 40px);
  min-height: 52px;
  height: auto;
  padding: 14px 24px;
  border-radius: 999px;
  color: #665b59;
  background: #fff;
  box-shadow: 0 3px 12px rgb(84 66 61 / 8%);
  transition: background-color 160ms ease, box-shadow 160ms ease;
}
.collection-button__label {
  display: block;
  flex: 0 1 auto;
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans TC', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: .06em;
  text-align: center;
}
.collection-button__arrow {
  display: block;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 0;
}
@media (hover:hover) {
  a.collection-button:hover {background: #faf7f6; box-shadow: 0 5px 16px rgb(84 66 61 / 13%);}
}
a.collection-button:focus-visible {outline: 2px solid #8d7274; outline-offset: 5px;}
@media (max-width: 540px) {
  .text.body-copy, .richText.body-copy {font-size: 15px; line-height: 2; letter-spacing: .035em;}
}
