.shop-page-header {
  padding: 6.944444vw 6vw 5.208333vw;
  text-align: center;
  background: #fff;
  border-bottom: 0.069444vw solid var(--line);
}

.shop-page-header p {
  margin: 0 0 1.388889vw;
  font-size: 0.694444vw;
  font-weight: 600;
  letter-spacing: .22em;
}

.shop-page-header h1 {
  margin: 0 0 1.666667vw;
  font: 700 clamp(4.027778vw, 7vw, 7.222222vw)/1 'Gowun Batang', serif;
  letter-spacing: -.05em;
}

.shop-page-header span {
  font: 400 1.111111vw 'Gowun Batang', serif;
}

.shop-product-grid {
  padding: 5.208333vw 5vw 8.333333vw;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.944444vw;
  background: #fff;
}

.shop-product-card {
  display: block;
  min-width: 0;
}

.shop-product-visual {
  aspect-ratio: 1 / 1.08;
  overflow: hidden;
  background: #f4f6f7;
}

.shop-product-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease;
}

.shop-product-card:hover .shop-product-visual img {
  transform: scale(1.025);
}

.shop-product-copy {
  padding: 1.666667vw 0.277778vw 0;
}

.shop-product-copy p {
  margin: 0 0 0.763889vw;
  font-size: 0.625vw;
  font-weight: 600;
  letter-spacing: .18em;
  color: #58708d;
}

.shop-product-copy h2 {
  margin: 0 0 0.763889vw;
  font: 700 1.875vw/1.2 'Gowun Batang', serif;
  letter-spacing: -.02em;
}

.shop-product-copy span {
  display: block;
  min-height: 3.055556vw;
  font: 400 0.902778vw/1.7 'Gowun Batang', serif;
  color: #4c6078;
}

.shop-product-copy b {
  display: inline-block;
  margin-top: 1.388889vw;
  padding-bottom: 0.347222vw;
  border-bottom: 0.069444vw solid;
  font-size: 0.625vw;
  letter-spacing: .16em;
}

.community-page-header {
  padding: 6.944444vw 6vw 5.208333vw;
  text-align: center;
  background: #fff;
  border-bottom: 0.069444vw solid var(--line);
}

.community-page-header p {
  margin: 0 0 1.388889vw;
  font-size: 0.694444vw;
  font-weight: 600;
  letter-spacing: .22em;
}

.community-page-header h1 {
  margin: 0 0 1.666667vw;
  font: 700 clamp(4.027778vw, 7vw, 7.222222vw)/1 'Gowun Batang', serif;
  letter-spacing: -.05em;
}

.community-page-header span {
  font: 400 1.111111vw 'Gowun Batang', serif;
}

.community-list-grid {
  padding: 5.208333vw 6vw 8.333333vw;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.083333vw;
  background: #fff;
}

.community-list-card {
  min-width: 0;
}

.community-list-visual {
  overflow: hidden;
  background: #d9dfdb;
}

.community-list-visual img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  filter: saturate(.7) contrast(.95);
  transition: transform .5s ease;
}

.community-list-card:hover img {
  transform: scale(1.025);
}

.community-list-card p {
  margin: 1.319444vw 0 0.486111vw;
  font-size: 0.625vw;
  letter-spacing: .16em;
}

.community-list-card h2 {
  margin: 0;
  font: 700 1.527778vw/1.35 'Gowun Batang', serif;
}

.brand-page-header {
  padding: 6.944444vw 6vw 5.416667vw;
  text-align: center;
  background: #eef5f8;
  border-bottom: 0.069444vw solid var(--line);
}

.brand-page-header p,
.brand-story-title>p,
.brand-ending>p {
  margin: 0 0 1.388889vw;
  font-size: 0.694444vw;
  font-weight: 600;
  letter-spacing: .22em;
}

.brand-page-header h1 {
  margin: 0 0 1.666667vw;
  font: 700 clamp(4.027778vw, 7vw, 7.222222vw)/1 'Gowun Batang', serif;
  letter-spacing: -.05em;
}

.brand-page-header span {
  font: 700 1.388889vw 'Gowun Batang', serif;
}

.brand-story {
  padding: 8.680556vw 7vw 9.375vw;
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 9vw;
  background: #fff;
}

.brand-story-title {
  position: sticky;
  top: 10.069444vw;
  align-self: start;
}

.brand-story-title h2 {
  margin: 0;
  font: 700 clamp(2.430556vw, 3.7vw, 4.027778vw)/1.4 'Gowun Batang', serif;
  letter-spacing: -.05em;
}

.brand-story-copy p {
  margin: 0 0 2.5vw;
  font: 400 1.111111vw/2.2 'Gowun Batang', serif;
  color: #334e6d;
  word-break: keep-all;
}

.brand-story-copy p:first-child:first-letter {
  float: left;
  margin: 0.347222vw 0.833333vw 0 0;
  font: 700 4.027778vw/.85 'Gowun Batang', serif;
  color: var(--navy);
}

.brand-principles {
  padding: 6.597222vw 6vw;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.069444vw;
  background: rgba(24,59,103,.18);
}

.brand-principles article {
  min-height: 20.833333vw;
  padding: 2.638889vw;
  background: #eef5f8;
  display: flex;
  flex-direction: column;
}

.brand-principles span {
  font-size: 0.694444vw;
  letter-spacing: .18em;
}

.brand-principles h3 {
  margin: auto 0 1.25vw;
  font: 700 2.152778vw 'Gowun Batang', serif;
}

.brand-principles p {
  margin: 0;
  max-width: 22.916667vw;
  font: 400 0.972222vw/1.9 'Gowun Batang', serif;
  word-break: keep-all;
}

.brand-ending {
  padding: 9.375vw 6vw;
  text-align: center;
  color: #fff;
  background: var(--navy);
}

.brand-ending h2 {
  margin: 0 0 1.805556vw;
  font: 700 clamp(2.5vw, 4.4vw, 4.583333vw)/1.25 'Gowun Batang', serif;
  letter-spacing: -.04em;
}

.brand-ending span {
  font: 400 1.041667vw/1.8 'Gowun Batang', serif;
}

.faq-page-header {
  padding: 6.944444vw 6vw 5.208333vw;
  text-align: center;
  background: #f4f7f8;
  border-bottom: 0.069444vw solid var(--line);
}

.faq-page-header p {
  margin: 0 0 1.388889vw;
  font-size: 0.694444vw;
  font-weight: 600;
  letter-spacing: .22em;
}

.faq-page-header h1 {
  margin: 0 0 1.666667vw;
  font: 700 clamp(4.027778vw, 7vw, 7.222222vw)/1 'Gowun Batang', serif;
  letter-spacing: -.05em;
}

.faq-page-header span {
  font: 400 1.111111vw 'Gowun Batang', serif;
}

.faq-board {
  padding: 5.902778vw 7vw 9.027778vw;
  background: #fff;
}

.faq-board-title,
.faq-row button {
  display: grid;
  grid-template-columns: 5.208333vw 10.416667vw 1fr 2.430556vw;
  align-items: center;
  column-gap: 1.25vw;
}

.faq-board-title {
  padding: 0 1.527778vw 1.111111vw;
  border-bottom: 0.138889vw solid var(--navy);
  color: #62758a;
  font-size: 0.625vw;
  font-weight: 600;
  letter-spacing: .16em;
}

.faq-row {
  border-bottom: 0.069444vw solid var(--line);
}

.faq-row button {
  width: 100%;
  min-height: 5.694444vw;
  padding: 0 1.527778vw;
  border: 0;
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.faq-row button>span {
  font-size: 0.763889vw;
  letter-spacing: .12em;
  color: #7f8fa1;
}

.faq-row button em {
  font-size: 0.763889vw;
  font-style: normal;
  color: #58708d;
}

.faq-row button strong {
  font: 700 1.111111vw/1.55 'Gowun Batang', serif;
}

.faq-row button i {
  justify-self: end;
  font: 300 1.666667vw 'DM Sans', sans-serif;
  font-style: normal;
}

.faq-answer {
  display: none;
  grid-template-columns: 5.208333vw 1fr;
  gap: 1.25vw;
  padding: 1.944444vw 15.625vw 2.222222vw 1.527778vw;
  background: #f4f7f8;
}

.faq-row.is-open .faq-answer {
  display: grid;
}

.faq-answer b {
  color: #648cb5;
  font: 700 1.180556vw 'Gowun Batang', serif;
}

.faq-answer p {
  margin: 0;
  font: 400 0.972222vw/1.9 'Gowun Batang', serif;
  color: #40566e;
  word-break: keep-all;
}
