.yoru-entry-access {
  border-bottom: 1px solid #d9cdbc;
  background: #eee6d9;
  color: #29231b;
}
#membership > .sectionHead[hidden],
#membership > .memberBenefits[hidden],
#memberCalculator[hidden] { display: none !important; }
.yoru-entry-access-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 24px;
  width: 91.6%;
  max-width: 1320px;
  min-height: 64px;
  margin-inline: auto;
  padding-block: 10px;
}
.yoru-entry-access-title {
  flex: 1 1 180px;
  min-width: 0;
  margin: 0;
  color: #65533d;
  font-size: 13px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.yoru-entry-cta {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  min-height: 44px;
  padding: 11px 21px;
  border: 1px solid #28221b;
  background: #28221b;
  color: #fcf7ed;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
  overflow-wrap: anywhere;
}
.yoru-entry-cta:hover { background: #4a3c2c; border-color: #4a3c2c; }
.yoru-entry-cta:focus-visible,
.yoru-entry-text-link:focus-visible,
.yoru-entry-copy:focus-visible {
  outline: 2px solid #87683f;
  outline-offset: 4px;
}
.yoru-entry-account {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px 36px;
  align-items: center;
  margin: 0 0 46px;
  padding: 29px 30px 21px;
  border: 1px solid #ccbaa1;
  background: #f0e8db;
  color: #29231c;
}
.yoru-entry-account-copy,
.yoru-entry-account-actions { min-width: 0; }
.yoru-entry-kicker {
  margin: 0 0 12px;
  color: #806647;
  font-size: 10px;
  line-height: 1.6;
  letter-spacing: .12em;
}
.yoru-entry-account-title {
  margin: 0 0 13px;
  color: #29231c;
  font: 400 33px/1.35 var(--display, Georgia, serif);
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.yoru-entry-account-body {
  max-width: 690px;
  margin: 0;
  color: #6b5d4c;
  font-size: 13px;
  line-height: 1.9;
}
.yoru-entry-account-actions { max-width: 320px; }
.yoru-entry-demo-note {
  grid-column: 1 / -1;
  margin: 0;
  border-top: 1px solid #d6c7b1;
  padding-top: 15px;
  color: #7e6a50;
  font-size: 11px;
  line-height: 1.8;
}
.yoru-entry-destinations {
  min-width: 0;
  border-top: 1px solid #d8cdbe;
  padding-block: 69px 67px;
}
.yoru-entry-destination-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  gap: 32px 65px;
  align-items: end;
  margin-bottom: 33px;
}
.yoru-entry-destination-heading > div { min-width: 0; }
.yoru-entry-destination-title {
  margin: 0;
  color: #211e18;
  font: 400 43px/1.3 var(--display, Georgia, serif);
  letter-spacing: -.01em;
  overflow-wrap: anywhere;
}
.yoru-entry-destination-intro {
  margin: 0;
  color: #756957;
  font-size: 13px;
  line-height: 1.9;
}
.yoru-entry-destination-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.yoru-entry-destination-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 26px 23px 23px;
  border: 1px solid #d5c7b2;
  background: #f3ede3;
  color: #322b20;
  scroll-margin-top: 24px;
}
#yoru-contact-japan { border-color: #b69a72; background: #eee4d4; }
.yoru-entry-card-title {
  margin: 0 0 15px;
  color: #30271b;
  font: 400 27px/1.45 var(--display, Georgia, serif);
  overflow-wrap: anywhere;
}
.yoru-entry-card-body {
  margin: 0 0 24px;
  color: #786a57;
  font-size: 13px;
  line-height: 1.9;
  overflow-wrap: anywhere;
}
.yoru-entry-card-actions { margin-top: auto; padding-top: 14px; }
.yoru-entry-text-link {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 44px;
  padding-block: 7px;
  color: #5d4325;
  font-size: 13px;
  line-height: 1.7;
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-color: #bba281;
  overflow-wrap: anywhere;
}
.yoru-entry-text-link:hover { color: #211a12; text-decoration-color: #705032; }
.yoru-entry-wechat {
  display: grid;
  justify-items: start;
  gap: 9px;
  min-width: 0;
  border-block: 1px solid #d2c0a6;
  padding-block: 16px;
}
.yoru-entry-wechat-label { color: #816849; font-size: 11px; line-height: 1.7; }
.yoru-entry-wechat-value {
  max-width: 100%;
  color: #30261b;
  font-size: 19px;
  line-height: 1.7;
  letter-spacing: .01em;
  user-select: all;
  overflow-wrap: anywhere;
}
.yoru-entry-wechat-value:focus {
  outline: 2px solid #937249;
  outline-offset: 4px;
  background: #fff6e5;
}
.yoru-entry-copy {
  max-width: 100%;
  min-height: 42px;
  border: 1px solid #a68a63;
  border-radius: 0;
  padding: 8px 14px;
  background: transparent;
  color: #654b2c;
  font: inherit;
  font-size: 12px;
  line-height: 1.7;
  text-align: left;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.yoru-entry-copy:hover:not(:disabled) { border-color: #725331; background: #e6d6bd; }
.yoru-entry-copy:disabled { opacity: .6; cursor: wait; }
.yoru-entry-copy-status {
  min-height: 1.8em;
  margin: 10px 0 3px;
  color: #725532;
  font-size: 11px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.yoru-entry-japan-links { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.yoru-entry-japan-links .yoru-entry-text-link { font-size: 12px; }
.yoru-entry-contact-note {
  max-width: 880px;
  margin: 23px 0 0;
  color: #89765d;
  font-size: 11px;
  line-height: 1.9;
}

@media (max-width: 1000px) {
  .yoru-entry-account { grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 26px; }
  .yoru-entry-account-actions { max-width: none; }
  .yoru-entry-demo-note { grid-column: auto; }
  .yoru-entry-destination-heading { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .yoru-entry-destination-intro { max-width: 650px; }
  .yoru-entry-destination-grid { gap: 13px; }
  .yoru-entry-destination-card { padding-inline: 18px; }
  .yoru-entry-card-title { font-size: 24px; }
}
@media (max-width: 850px) {
  .yoru-entry-destination-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .yoru-entry-destination-card { padding: 25px; }
  .yoru-entry-card-actions { padding-top: 0; }
  .yoru-entry-card-body { max-width: 650px; margin-bottom: 18px; }
  .yoru-entry-wechat { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 16px; align-items: center; }
  .yoru-entry-wechat-label { grid-column: 1; }
  .yoru-entry-wechat-value { grid-column: 1; }
  .yoru-entry-copy { grid-column: 2; grid-row: 1 / 3; }
  .yoru-entry-copy-status { min-height: 1.8em; }
  .yoru-entry-destinations { padding-block: 53px; }
}
@media (max-width: 600px) {
  .yoru-entry-access-inner { gap: 8px 14px; width: 88%; padding-block: 12px; }
  .yoru-entry-access-title { flex-basis: 125px; font-size: 12px; }
  .yoru-entry-access .yoru-entry-cta { padding: 9px 14px; font-size: 12px; }
  .yoru-entry-account { margin-bottom: 34px; padding: 23px 20px 19px; }
  .yoru-entry-account-title { font-size: 29px; }
  .yoru-entry-account-body { font-size: 12px; }
  .yoru-entry-account-actions .yoru-entry-cta { width: 100%; font-size: 13px; }
  .yoru-entry-demo-note { font-size: 10px; }
  .yoru-entry-destination-heading { margin-bottom: 27px; }
  .yoru-entry-destination-title { font-size: 34px; line-height: 1.4; }
  .yoru-entry-destination-intro { font-size: 12px; }
  .yoru-entry-destination-card { padding: 24px 20px 22px; }
  .yoru-entry-card-title { font-size: 25px; }
  .yoru-entry-card-body { font-size: 12px; }
  .yoru-entry-wechat { grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .yoru-entry-wechat-label, .yoru-entry-wechat-value { grid-column: auto; }
  .yoru-entry-copy { grid-column: auto; grid-row: auto; }
  .yoru-entry-wechat-value { font-size: 20px; }
  .yoru-entry-contact-note { margin-top: 21px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .yoru-entry-cta, .yoru-entry-text-link, .yoru-entry-copy { transition: none !important; }
}

/* Travel and lifestyle inquiries; no payment or redemption controls. */
.yoru-life { min-width: 0; border-top: 1px solid #d8cdbe; padding-block: 48px; color: #29231b; }
.yoru-life-title { margin: 0 0 20px; color: #29231b; font: 400 clamp(28px, 3vw, 39px)/1.4 var(--display, Georgia, serif); overflow-wrap: anywhere; }
.yoru-life-intro { max-width: 920px; color: #6b5d4c; font-size: 14px; line-height: 1.95; margin: 0 0 22px; }
.yoru-life-availability { margin: 0 0 28px; padding: 15px 18px; border-left: 2px solid #a88b60; background: #eee6d9; color: #655039; font-size: 13px; line-height: 1.85; }
.yoru-life-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.yoru-life-card { min-width: 0; padding: 23px 20px; border: 1px solid #d8cbb8; background: #f4eee5; }
.yoru-life-card h3 { margin: 0 0 13px; color: #3e3121; font: 400 22px/1.5 var(--display, Georgia, serif); overflow-wrap: anywhere; }
.yoru-life-card p { margin: 0; color: #756652; font-size: 13px; line-height: 1.9; overflow-wrap: anywhere; }
.yoru-life-terms { max-width: 920px; margin: 0 0 22px; color: #786950; font-size: 12px; line-height: 1.9; overflow-wrap: anywhere; }
.yoru-life-partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.yoru-life-template-label { display: block; margin: 24px 0 10px; color: #6d573c; font-size: 13px; line-height: 1.8; }
.yoru-life-template { display: block; width: 100%; max-width: 920px; min-width: 0; min-height: 180px; margin: 0 0 18px; border: 1px solid #c7b397; border-radius: 0; padding: 16px; background: #fbf8f1; color: #59482f; font: inherit; font-size: 16px; line-height: 1.9; resize: vertical; }
.yoru-life-template:focus-visible { outline: 2px solid #87683f; outline-offset: 4px; }
.yoru-entry-account-actions .yoru-entry-text-link { display: block; margin-top: 8px; }
.member-main .yoru-life-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.member-main .yoru-life .button { margin-bottom: 12px; }
.member-main .yoru-life .text-link { margin-inline-start: 20px; }
@media (max-width: 980px) { .yoru-life-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .yoru-life { padding-block: 35px; }
  .yoru-life-grid, .member-main .yoru-life-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .yoru-life-card { padding: 21px 20px; }
  .yoru-life-card h3 { font-size: 23px; }
  .member-main .yoru-life .text-link { margin-inline-start: 0; display: flex; }
}
