
/* Pull Push Products. / minimal bilingual draft */

#search {
  display: none;
}

html, body,
#main, #sidebar {
  background: #ffffff;
}

body,
input, select, textarea, button,
.button,
#menu,
#header .logo,
header p,
h1, h2, h3, h4, h5, h6,
strong, b {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

body, input, select, textarea {
  color: #4a4a4a;
  line-height: 1.8;
}

a {
  color: #222;
  border-bottom-color: rgba(0, 0, 0, 0.18);
}

a:hover {
  color: #222 !important;
  border-bottom-color: rgba(0, 0, 0, 0.4);
}

h1, h2, h3, h4, h5, h6,
strong, b {
  color: #222;
  font-weight: 500;
  letter-spacing: 0;
}

header p,
#menu ul,
#menu ul a,
#menu ul span {
  color: #4a4a4a;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  text-transform: none;
}

#header {
  border-bottom: 0;
  padding-top: 4.5em;
}

#header .logo {
  font-size: 1em;
  font-weight: 500;
  letter-spacing: 0.01em;
}

#header .icons {
  width: auto;
}

#header .icons a,
#header .icons a:hover {
  border-bottom: 0;
}

.text-badge {
  display: inline-block;
  border-bottom: 0 !important;
  color: #222;
  font-size: 0.9em;
  letter-spacing: 0;
  padding: 0.2rem 0;
}

#main > .inner {
  max-width: 108em;
}

#main > .inner > section {
  border-top: 0 !important;
  padding: 3.5em 0 0.5em 0;
}

#main > .inner > section:first-of-type {
  padding-top: 1.5em;
}

#sidebar {
  box-shadow: none;
  font-size: 0.95em;
}

#sidebar > .inner {
  padding-top: 4.5em;
}

#sidebar > .inner > * {
  border-bottom: 0 !important;
  margin: 0 0 2.5em 0;
  padding: 0;
}

#sidebar > .inner > *:last-child {
  margin-bottom: 0;
}

#menu > ul > li {
  border-top: 0;
  margin: 0 0 0.65em 0;
  padding: 0;
}

#menu ul a,
#menu ul span {
  font-size: 1em;
  padding: 0;
}

#menu ul a.active {
  color: #222;
}

header.major > :last-child,
hr.major,
ul.contact li,
.info-box,
.quick-links article {
  border: 0 !important;
  padding: 0;
}

.button,
input[type="submit"],
input[type="reset"],
input[type="button"],
button {
  background: transparent;
  border-radius: 0;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.2);
  color: #222 !important;
  font-weight: 400;
  height: 3.1em;
  letter-spacing: 0;
  line-height: 3.1em;
  padding: 0 1.3em;
  text-transform: none;
}

.button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover {
  background: rgba(0,0,0,0.03);
}

.button.primary,
input[type="submit"].primary,
input[type="reset"].primary,
input[type="button"].primary,
button.primary {
  background: #222;
  box-shadow: none;
  color: #fff !important;
}

.minimal-banner {
  align-items: flex-start;
}

.minimal-banner .content {
  width: 100%;
}

.minimal-banner header {
  margin-bottom: 2.5em;
}

.minimal-banner h1 {
  margin-bottom: 0;
}

.entry-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem 2rem;
  margin: 0 0 2rem 0;
  max-width: 36rem;
}

.entry-link {
  padding: 0;
}

.entry-link h2 {
  font-size: 1.9rem;
  font-weight: 400;
  line-height: 1.3;
  margin: 0;
}

.entry-link a {
  border-bottom: 0;
  display: inline-block;
}

.entry-link a:hover {
  opacity: 0.6;
}

.side-entry {
  margin-top: 2.75rem;
}

.side-entry h3 {
  font-size: 1.05rem;
  font-weight: 400;
  margin: 0;
}

.side-entry a {
  border-bottom: 0;
}

.page-intro {
  max-width: 44rem;
}

.bilingual {
  margin: 0 0 1.2em 0;
}

.bilingual .en,
.bilingual .jp {
  display: block;
}

.bilingual .jp {
  color: rgba(0,0,0,0.72);
}

.posts article {
  margin-bottom: 1.5rem;
}

.posts article h3 {
  margin-bottom: 0.8rem;
}

.actions.stacked li {
  margin-bottom: 0.7em;
}

.info-grid {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.plain-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.plain-list li {
  margin: 0 0 0.75em 0;
  padding: 0;
}

.contact-base li {
  color: #4a4a4a;
}

.copy-section h2 {
  margin-top: 2rem;
}

.copy-section h2:first-child {
  margin-top: 0;
}

.external-label {
  color: rgba(0,0,0,0.45);
  display: inline-block;
  font-size: 0.8em;
  margin-left: 0.3em;
}

.image.main img,
.image.object img,
.posts .image img {
  filter: saturate(0.92);
}

@media screen and (max-width: 1280px) {
  #main > .inner > section {
    padding-top: 3em;
  }
}

@media screen and (max-width: 980px) {
  #sidebar {
    background: #ffffff;
  }

  .info-grid,
  .entry-links {
    grid-template-columns: 1fr;
  }

  .minimal-banner .image.object {
    max-width: 28rem;
  }
}

@media screen and (max-width: 736px) {
  #main > .inner {
    padding: 0 2em 0.1em 2em;
  }

  #sidebar > .inner {
    padding: 3.5em 2em 2em 2em;
  }

  .entry-link h2 {
    font-size: 1.55rem;
  }

  .side-entry {
    margin-top: 2rem;
  }
}


.entry-groups {
  display: grid;
  gap: 2.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 46rem;
}

.entry-group h2 {
  font-size: 1rem;
  font-weight: 500;
  margin: 0 0 1.2rem 0;
}

.jp-inline {
  color: rgba(0,0,0,0.72);
  font-size: 0.95em;
  font-weight: 400;
  margin-left: 0.25rem;
}

.compact-links {
  gap: 0.95rem 1.5rem;
  grid-template-columns: 1fr;
  margin: 0;
}

.compact-links .entry-link h3 {
  font-size: 1.65rem;
  font-weight: 400;
  margin: 0;
}

.subdued-entry {
  margin-top: 3.25rem;
}

.subdued-entry h3 {
  font-size: 1rem;
}

.compact-posts article {
  margin-bottom: 1rem;
}

@media screen and (max-width: 980px) {
  .entry-groups {
    grid-template-columns: 1fr;
  }
}


.quiet-top-banner header {
  margin-bottom: 2.1rem;
}

.top-links-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem 2rem;
  margin: 0;
  max-width: 42rem;
}

.top-links-grid .entry-link h2 {
  font-size: 1.55rem;
  font-weight: 400;
}

.top-links-grid .entry-link h2 a {
  border-bottom: 0;
}

@media screen and (max-width: 980px) {
  .top-links-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 736px) {
  .top-links-grid {
    grid-template-columns: 1fr;
  }

  .top-links-grid .entry-link h2 {
    font-size: 1.4rem;
  }
}


/* version 003: grouped sidebar spacing */
#menu ul .menu-spacer {
  border-top: 0 !important;
  height: 0;
  margin: 0.9rem 0 0.2rem 0;
  padding: 0;
}

#menu ul .menu-spacer + li {
  border-top: 0 !important;
  padding-top: 0;
}


/* version 004: reduce bilingual density and add more air */
.page-intro,
.copy-section,
.info-box,
.posts article {
  max-width: 42rem;
}

.page-intro {
  line-height: 1.95;
  margin-bottom: 0.4rem;
}

.copy-section {
  max-width: 38rem;
}

.copy-section p,
.info-box p,
.posts article p {
  line-height: 2;
  margin-bottom: 1.55em;
}

.copy-section h2,
.info-box h2,
.posts article h3 {
  margin-bottom: 1.15rem;
}

.copy-section h2 + p,
.info-box h2 + p,
.posts article h3 + p {
  margin-top: 0;
}

.posts article {
  margin-bottom: 2.3rem;
}

.bilingual .en {
  margin-bottom: 0.5em;
}

.bilingual .jp {
  color: rgba(0,0,0,0.78);
}

.en-note {
  color: rgba(0,0,0,0.62);
  display: block;
  font-size: 0.95em;
  line-height: 1.8;
  margin-top: 0.45rem;
}

.contact-sections .info-box,
.wholesale-sections .info-box {
  max-width: none;
}

.contact-sections .info-box:first-child,
.wholesale-sections .info-box:first-child {
  max-width: 36rem;
}

.contact-sections .info-box:last-child,
.wholesale-sections .info-box:last-child {
  max-width: 24rem;
}

@media screen and (max-width: 980px) {
  .page-intro,
  .copy-section,
  .info-box,
  .posts article {
    max-width: none;
  }
}


/* version 005: bilingual blocks and english-only tags */
.bilingual-block { margin: 0 0 1.35em 0; }
.bilingual-block .jp,
.bilingual-block .en { display:block; }
.bilingual-block .jp { color: rgba(0,0,0,0.78); margin-bottom: 0.45em; }
.bilingual-block .en { color: rgba(0,0,0,0.62); font-size: 0.95em; line-height: 1.8; }
.tag-label { color: rgba(0,0,0,0.62); font-size: 0.95em; line-height: 1.8; margin-bottom: 0.7rem; }
.list-en li { color: #4a4a4a; }


/* version 006: realistic copy stress test */
.page-intro p {
  line-height: 2;
  margin: 0 0 1.2em 0;
}
.top-banner .page-intro {
  margin: 0 0 2.2rem 0;
  max-width: 28rem;
}
.posts.compact-posts article {
  max-width: 40rem;
}
.info-box p + .plain-list,
.info-box p + .actions {
  margin-top: 1.2rem;
}


.en-note { display:none !important; }
.wholesale-header-row { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.lang-switch { margin:0; font-size:0.95rem; }
.lang-switch a { border-bottom:0; }
.with-images .image { display:block; margin:0 0 1rem 0; }
.with-images .image img { width:100%; display:block; }
.product-posts article p,
.copy-section p,
.info-box p,
.page-intro p { max-width: 42rem; }
.two-entry-grid { align-items:start; }
.two-entry-grid .info-box { max-width: 30rem; }
#banner .content header { margin-bottom: 2rem; }
#banner .content header h1 { margin-bottom: 0; }
@media screen and (max-width: 980px) {
  .wholesale-header-row { display:block; }
  .lang-switch { margin-top:0.5rem; }
}


/* version 011: taller/larger hero image and soft reveal */
.quiet-top-banner {
  align-items: flex-start;
}

.quiet-top-banner .content {
  width: 44%;
  max-width: 34rem;
  padding-right: 1.5rem;
}

.quiet-top-banner .image.object {
  width: min(38vw, 34rem);
  height: min(53vw, 47.6rem);
  max-height: 47.6rem;
  min-height: 34rem;
  margin: 0 0 1.5em 3.25em;
  overflow: hidden;
}

.quiet-top-banner .image.object img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center center;
  opacity: 1;
  transform: scale(1.03);
}

body.is-preload .quiet-top-banner .image.object img {
  opacity: 0;
  transform: scale(1.06);
  filter: blur(6px);
}

body:not(.is-preload) .quiet-top-banner .image.object img {
  opacity: 1;
  transform: scale(1.03);
  filter: blur(0);
  transition: opacity 1.4s ease, transform 1.6s ease, filter 1.6s ease;
}

@media screen and (max-width: 1280px) {
  .quiet-top-banner .content {
    width: 46%;
  }

  .quiet-top-banner .image.object {
    width: min(40vw, 31rem);
    height: min(56vw, 43.4rem);
    min-height: 30rem;
    margin-left: 2.5em;
  }
}

@media screen and (max-width: 980px) {
  .quiet-top-banner .content {
    width: 100%;
    max-width: none;
    padding-right: 0;
  }

  .quiet-top-banner .image.object {
    width: min(72vw, 28rem);
    height: min(100vw, 39.2rem);
    min-height: 24rem;
    margin: 0 0 3em 0;
    max-width: none;
  }
}

@media screen and (max-width: 736px) {
  .quiet-top-banner .image.object {
    width: min(78vw, 24rem);
    height: min(109.2vw, 33.6rem);
    min-height: 21rem;
  }
}


/* version 012: slower whole-page reveal, no rounded corners, more margin, taller hero */
#wrapper {
  opacity: 1;
  transform: translateY(0);
}

body.is-preload #wrapper {
  opacity: 0;
  transform: translateY(16px);
}

body:not(.is-preload) #wrapper {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 2.1s ease, transform 2.1s ease;
}

#main > .inner {
  max-width: 110em;
  padding: 0 5.75em 0.1em 5.75em;
}

#sidebar > .inner {
  padding: 4.75em 3.75em 2.5em 3.75em;
}

.image img,
.image.object img,
.image.main img,
.posts .image img,
.mini-posts .image img,
.image.left img,
.image.right img,
.image.fit img {
  border-radius: 0 !important;
}

.image,
.image img,
.image.object,
.image.main,
.posts .image,
.mini-posts .image {
  border-radius: 0 !important;
}

.quiet-top-banner .content {
  width: 42%;
  max-width: 33rem;
  padding-right: 2rem;
}

.quiet-top-banner .image.object {
  width: min(40vw, 35rem);
  height: min(61.6vw, 57.6rem);
  max-height: 57.6rem;
  min-height: 38rem;
  margin: 0 0 1.5em 3.75em;
}

.quiet-top-banner .image.object img {
  transform: scale(1.02);
}

body.is-preload .quiet-top-banner .image.object img {
  opacity: 0;
  transform: scale(1.05);
  filter: blur(7px);
}

body:not(.is-preload) .quiet-top-banner .image.object img {
  opacity: 1;
  transform: scale(1.02);
  filter: blur(0);
  transition: opacity 2.4s ease, transform 2.6s ease, filter 2.6s ease;
}

@media screen and (max-width: 1680px) {
  #main > .inner {
    padding: 0 5em 0.1em 5em;
  }

  #sidebar > .inner {
    padding: 4.5em 3.25em 2.25em 3.25em;
  }
}

@media screen and (max-width: 1280px) {
  #main > .inner {
    padding: 0 4.5em 0.1em 4.5em;
  }

  #sidebar > .inner {
    padding: 4em 2.75em 2em 2.75em;
  }

  .quiet-top-banner .content {
    width: 44%;
  }

  .quiet-top-banner .image.object {
    width: min(41vw, 31.5rem);
    height: min(63.8vw, 50.6rem);
    min-height: 33rem;
    margin-left: 3em;
  }
}

@media screen and (max-width: 980px) {
  #main > .inner {
    padding: 0 3.5em 0.1em 3.5em;
  }

  #sidebar > .inner {
    padding: 3.75em 3em 2em 3em;
  }

  .quiet-top-banner .content {
    width: 100%;
    max-width: none;
    padding-right: 0;
  }

  .quiet-top-banner .image.object {
    width: min(74vw, 29rem);
    height: min(114.4vw, 44.8rem);
    min-height: 25rem;
    margin: 0 0 3em 0;
  }
}

@media screen and (max-width: 736px) {
  #main > .inner {
    padding: 0 2.5em 0.1em 2.5em;
  }

  #sidebar > .inner {
    padding: 3.25em 2.5em 2em 2.5em;
  }

  .quiet-top-banner .image.object {
    width: min(80vw, 24rem);
    height: min(123.2vw, 37rem);
    min-height: 22rem;
  }
}


/* version 013: slower fade, faster rise, sidebar default closed, tighter top behavior */
body:not(.is-preload) #wrapper {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 2.1s ease, transform 1.15s ease;
}

/* Wider outer margin */
#main > .inner {
  max-width: 112em;
  padding: 0 7em 0.1em 7em;
}

#sidebar > .inner {
  padding: 5.25em 4em 2.5em 4em;
}

/* Remove underline from link-list items */
.plain-list a,
.plain-list a:hover,
.plain-list a:focus {
  border-bottom: 0 !important;
}

/* Top contact banner */
.contact-banner-link {
  background: #111;
  color: #fff !important;
  display: inline-block;
  padding: 0.65rem 1rem;
  border: 0 !important;
  line-height: 1;
}
.contact-banner-link:hover {
  background: #111;
  color: #fff !important;
  opacity: 0.88;
}

/* Footer moved to main area */
.site-footer {
  margin: 6.5rem 0 0 0;
  padding: 0 0 2rem 0;
}
.site-footer .copyright {
  color: #9fa3a6;
  font-size: 0.7em;
  line-height: 1.8;
  margin: 0;
}
.site-footer .copyright a {
  color: inherit;
  border-bottom: 0;
}

/* Desktop hero slightly taller */
.quiet-top-banner .image.object {
  width: min(40vw, 35rem);
  height: min(67.8vw, 63.4rem);
  max-height: 63.4rem;
  min-height: 41.5rem;
}

/* Mid-size windows: keep menu on the left in one column and hero image on the right */
@media screen and (min-width: 737px) and (max-width: 1180px) {
  #banner.quiet-top-banner {
    flex-direction: row !important;
    align-items: flex-start;
  }

  .quiet-top-banner .content {
    order: 1;
    width: auto;
    max-width: 26rem;
    padding-right: 2.5em;
  }

  .quiet-top-banner .image.object {
    order: 2;
    width: min(31vw, 22rem);
    height: min(48vw, 31rem);
    max-height: 31rem;
    min-height: 24rem;
    margin: 0 0 0 2.5em;
  }

  .top-links-grid {
    grid-template-columns: 1fr;
    max-width: 18rem;
    gap: 0.8rem 0;
  }
}

@media screen and (max-width: 1680px) {
  #main > .inner {
    padding: 0 6em 0.1em 6em;
  }

  #sidebar > .inner {
    padding: 4.75em 3.5em 2.25em 3.5em;
  }

  .quiet-top-banner .image.object {
    height: min(69vw, 57rem);
    max-height: 57rem;
    min-height: 37rem;
  }
}

@media screen and (max-width: 1280px) {
  #main > .inner {
    padding: 0 5em 0.1em 5em;
  }

  #sidebar > .inner {
    padding: 4.25em 3.25em 2em 3.25em;
  }

  .quiet-top-banner .image.object {
    height: min(67vw, 48rem);
    max-height: 48rem;
    min-height: 31rem;
  }
}

@media screen and (max-width: 980px) {
  #main > .inner {
    padding: 0 4em 0.1em 4em;
  }

  #sidebar > .inner {
    padding: 3.75em 3em 2em 3em;
  }
}

@media screen and (max-width: 736px) {
  #main > .inner {
    padding: 0 2.75em 0.1em 2.75em;
  }

  #sidebar > .inner {
    padding: 3.25em 2.5em 2em 2.5em;
  }
}


/* version 014: restore right-image layout at medium, revert contact styling, center copyright */
/* Revert contact banner to normal text treatment */
.contact-banner-link,
.contact-banner-link:hover,
.contact-banner-link:focus {
  background: transparent;
  color: #222 !important;
  display: inline;
  padding: 0;
  border: 0 !important;
  line-height: inherit;
  font-size: inherit;
  font-weight: 400;
}

/* Footer in main area */
.site-footer {
  padding: 4.5rem 0 1rem 0;
  text-align: center;
}
.site-footer .copyright {
  color: #222;
  font-size: 0.75rem;
  line-height: 1.6;
  margin: 0;
}
.site-footer .copyright a {
  color: inherit;
}

/* Keep top hero image on the right and links in a single left column on medium screens */
@media screen and (min-width: 737px) and (max-width: 980px) {
  #banner.quiet-top-banner {
    -moz-flex-direction: row !important;
    -webkit-flex-direction: row !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
    align-items: flex-start;
  }

  .quiet-top-banner .content {
    width: 44%;
    max-width: 26rem;
    padding-right: 2.5rem;
  }

  .top-links-grid {
    grid-template-columns: 1fr;
    max-width: 16rem;
    gap: 0.8rem 0;
  }

  .top-links-grid .entry-link h2 {
    font-size: 1.45rem;
  }

  .quiet-top-banner .image.object {
    width: min(42vw, 24rem);
    height: min(64vw, 34rem);
    min-height: 24rem;
    max-height: 34rem;
    margin: 0 0 0 2.25rem;
  }

  .side-entry,
  .subdued-entry {
    margin-top: 2.25rem;
  }
}


/* version 015: unify top contact size, keep medium hero right-only below small, flatten wholesale buttons and collection grid lines */
/* Top contact same scale as other top menu items */
.side-entry h3,
.subdued-entry h3 {
  font-size: 1.55rem;
  font-weight: 400;
  line-height: 1.3;
  margin: 0;
}

@media screen and (max-width: 980px) {
  .side-entry h3,
  .subdued-entry h3 {
    font-size: 1.45rem;
  }
}

@media screen and (max-width: 736px) {
  .side-entry h3,
  .subdued-entry h3 {
    font-size: 1.4rem;
  }
}

/* Only the smallest layout moves image above; medium windows keep image right and menu left in one column */
@media screen and (min-width: 737px) and (max-width: 980px) {
  #banner.quiet-top-banner {
    -moz-flex-direction: row !important;
    -webkit-flex-direction: row !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
    align-items: flex-start;
  }

  .quiet-top-banner .content {
    width: 44%;
    max-width: 26rem;
    padding-right: 2.5rem;
  }

  .quiet-top-banner .image.object {
    margin: 0 0 0 2.25rem;
  }

  .top-links-grid {
    grid-template-columns: 1fr;
    max-width: 16rem;
    gap: 0.8rem 0;
  }

  .top-links-grid .entry-link h2 {
    font-size: 1.45rem;
  }
}

@media screen and (min-width: 981px) {
  #banner.quiet-top-banner {
    -moz-flex-direction: row !important;
    -webkit-flex-direction: row !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
    align-items: flex-start;
  }

  .quiet-top-banner .content {
    width: 50%;
    max-width: 32rem;
    padding-right: 3rem;
  }

  .quiet-top-banner .image.object {
    margin: 0 0 0 3.75em;
  }

  .top-links-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 42rem;
    gap: 1rem 2rem;
  }

  .top-links-grid .entry-link h2,
  .side-entry h3,
  .subdued-entry h3 {
    font-size: 1.55rem;
  }
}

/* Wholesale contact button should match regular product links */
.wholesale-sections .button.primary,
.wholesale-sections .button.primary:hover,
.wholesale-sections .button.primary:focus {
  background: transparent;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.2);
  color: #222 !important;
}

/* Remove divider lines in product/wholesale collection grids */
.posts.with-images article:before,
.posts.with-images article:after {
  display: none !important;
}


/* version 018: prevent portrait-orientation banner from switching hero to horizontal on medium windows */
@media screen and (min-width: 737px) and (max-width: 1180px) {
  #banner.quiet-top-banner {
    -moz-flex-direction: row !important;
    -webkit-flex-direction: row !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
    align-items: flex-start !important;
  }

  #banner.quiet-top-banner .content {
    -moz-flex-grow: 0 !important;
    -webkit-flex-grow: 0 !important;
    -ms-flex-grow: 0 !important;
    flex-grow: 0 !important;
    -moz-flex-shrink: 0 !important;
    -webkit-flex-shrink: 0 !important;
    -ms-flex-shrink: 0 !important;
    flex-shrink: 0 !important;
    width: 44% !important;
    max-width: 26rem !important;
  }

  #banner.quiet-top-banner .image.object {
    -moz-flex-grow: 0 !important;
    -webkit-flex-grow: 0 !important;
    -ms-flex-grow: 0 !important;
    flex-grow: 0 !important;
    -moz-flex-shrink: 0 !important;
    -webkit-flex-shrink: 0 !important;
    -ms-flex-shrink: 0 !important;
    flex-shrink: 0 !important;
    width: min(42vw, 24rem) !important;
    height: min(64vw, 34rem) !important;
    min-height: 24rem !important;
    max-height: 34rem !important;
    margin: 0 0 0 2.25rem !important;
  }

  #banner.quiet-top-banner .image.object img {
    object-fit: cover !important;
    object-position: center center !important;
  }
}


/* version 019: small-screen top menu back to horizontal grid, instagram icon, no top logo link on home */
.home #header .plain-logo { border-bottom: 0; color: inherit; font-size: 1em; font-weight: 500; letter-spacing: 0.01em; }
#header .instagram-icon, #header .instagram-icon:hover, #header .instagram-icon:focus { border-bottom: 0 !important; color: #8f8f8f !important; font-size: 1.05rem; }
#header .instagram-icon:before { margin-right: 0; }
#header .icons .label { display:none; }
@media screen and (max-width: 736px) {
  .top-links-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; max-width: 100%; gap: 0.9rem 1.2rem; }
  .top-links-grid .entry-link h2 { font-size: 1.1rem; }
  .quiet-top-banner .content { width: 100%; max-width: none; }
  .subdued-entry, .side-entry { margin-top: 1.6rem; }
}


/* version 020: mobile top menu one column, hide home logo, normalize contact size, smaller copyright, restore sidebar toggle */
.home #header .plain-logo {
  display: none !important;
}

.site-footer .copyright {
  color: #222;
  font-size: 0.6rem;
}

/* Top contact should match other menu items exactly */
.side-entry h3,
.subdued-entry h3,
.side-entry .contact-banner-link,
.subdued-entry .contact-banner-link {
  font-size: 1.55rem;
  font-weight: 400;
  line-height: 1.3;
}

@media screen and (max-width: 980px) {
  .side-entry h3,
  .subdued-entry h3,
  .side-entry .contact-banner-link,
  .subdued-entry .contact-banner-link {
    font-size: 1.45rem;
  }
}

@media screen and (max-width: 736px) {
  /* Mobile top menu back to a single vertical column */
  .top-links-grid {
    grid-template-columns: 1fr !important;
    max-width: 100%;
    gap: 0.9rem 0 !important;
  }

  .top-links-grid .entry-link h2,
  .side-entry h3,
  .subdued-entry h3,
  .side-entry .contact-banner-link,
  .subdued-entry .contact-banner-link {
    font-size: 1.1rem !important;
    line-height: 1.35;
  }

  /* Keep sidebar toggle visually consistent with larger sizes */
  #sidebar .toggle {
    text-indent: 6em;
    width: 6em;
  }

  #sidebar .toggle:before {
    color: #222 !important;
    margin-left: -0.4375em !important;
    margin-top: 0 !important;
    font-size: 1.5rem !important;
  }

  #sidebar .toggle:after {
    display: none !important;
  }
}


/* version 021: separate mobile/desktop top grid, products single column on small screens, remove global instagram icon, fade only */
#header .icons { display: none !important; }
#wrapper,
body.is-preload #wrapper,
body:not(.is-preload) #wrapper {
  transform: none !important;
}
body.is-preload #wrapper {
  opacity: 0;
}
body:not(.is-preload) #wrapper {
  opacity: 1;
  transition: opacity 2.1s ease !important;
}
@media screen and (min-width: 981px) {
  .top-links-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: 42rem !important;
    gap: 1rem 2rem !important;
  }
}
@media screen and (min-width: 737px) and (max-width: 980px) {
  .top-links-grid {
    grid-template-columns: 1fr !important;
    max-width: 16rem !important;
    gap: 0.8rem 0 !important;
  }
}
@media screen and (max-width: 736px) {
  .top-links-grid {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
    gap: 0.9rem 0 !important;
  }
  .product-posts {
    display: block !important;
  }
  .product-posts article {
    width: 100% !important;
    margin-right: 0 !important;
  }
}


/* version 022: fix products mobile overflow and update top hero image */
@media screen and (max-width: 736px) {
  .product-posts {
    display: block !important;
    margin: 0 !important;
    width: 100% !important;
  }
  .product-posts article {
    width: 100% !important;
    margin: 0 0 4em 0 !important;
  }
  .product-posts article:last-child {
    margin-bottom: 0 !important;
  }
  .product-posts article:before,
  .product-posts article:after {
    display: none !important;
  }
  .product-posts .image {
    margin: 0 0 1rem 0 !important;
    width: 100% !important;
  }
  .product-posts .image img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }
}


/* version 023: keep top menu horizontal on desktop small windows, mobile remains single column */
@media screen and (max-width: 736px) and (hover: hover),
       screen and (max-width: 736px) and (pointer: fine) {
  .top-links-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: 100% !important;
    gap: 0.9rem 1.2rem !important;
  }

  .top-links-grid .entry-link h2,
  .side-entry h3,
  .subdued-entry h3,
  .side-entry .contact-banner-link,
  .subdued-entry .contact-banner-link {
    font-size: 1.1rem !important;
  }
}

@media screen and (max-width: 736px) and (hover: none) and (pointer: coarse) {
  .top-links-grid {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
    gap: 0.9rem 0 !important;
  }
}

/* Sidebar meta */
#sidebar .sidebar-meta { margin-top: 2.25rem; }
#sidebar .sidebar-meta .plain-list li { margin: 0 0 0.55rem 0; }
#sidebar .sidebar-meta .plain-list a { border-bottom: 0; }
.note-links { margin-top: 1.25rem; }
.note-links li { margin: 0 0 0.4rem 0; }
.note-links a { border-bottom: 0; }

#sidebar .sidebar-meta { margin-top: 3.75rem; }
#sidebar .sidebar-meta > .minor { margin: 0 0 1.15rem 0; }
#sidebar .sidebar-meta > .minor h3 {
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin: 0;
  text-transform: none;
}
#sidebar .sidebar-meta .plain-list { margin: 0; }
#sidebar .sidebar-meta .plain-list li { margin: 0 0 0.65rem 0; }


/* version 031: products images remain static; image and title are links */
.product-title-link,
.product-title-link:hover,
.product-title-link:focus {
  border-bottom: 0 !important;
}

.product-posts .product-link {
  position: relative;
  display: block;
  border-bottom: 0 !important;
}

.product-posts .product-link img {
  opacity: 1;
  filter: none;
  transition: none;
}

.product-posts .product-link::after {
  content: none;
}



/* version 033: restore large home title */
.top-page-title {
  margin: 0 0 2.2rem 0;
}

.top-page-title h1 {
  margin: 0;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: 0.01em;
}

.top-page-title h1 a,
.top-page-title h1 a:hover,
.top-page-title h1 a:focus {
  border-bottom: 0;
  color: inherit;
}

@media screen and (max-width: 736px) {
  .top-page-title {
    margin: 0 0 1.6rem 0;
  }

  .top-page-title h1 {
    font-size: 2.2rem;
  }
}


/* version 038: about block flow and wider section spacing */
.about-copy-section p {
  max-width: 44rem;
  margin-bottom: 0;
  text-align: justify;
  text-justify: inter-character;
}

.about-profile-block {
  margin-top: 8.8rem;
}

.about-profile-block .actions.stacked {
  margin-top: 1.8rem;
}

.about-profile-block .actions.stacked li {
  margin-bottom: 0;
}

@media screen and (max-width: 736px) {
  .about-profile-block {
    margin-top: 5.4rem;
  }
}

/* version 039: stabilize responsive layout between desktop and medium widths */
#main,
#main > .inner,
#banner.quiet-top-banner,
#banner.quiet-top-banner .content,
#banner.quiet-top-banner .image.object {
  min-width: 0;
}

#banner.quiet-top-banner {
  align-items: flex-start;
}

/* Desktop to large tablet: keep banner stable with container-based flex sizing */
@media screen and (min-width: 981px) {
  #banner.quiet-top-banner {
    -moz-flex-direction: row !important;
    -webkit-flex-direction: row !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
    gap: 3rem;
  }

  #banner.quiet-top-banner .content {
    -moz-flex: 1 1 0 !important;
    -webkit-flex: 1 1 0 !important;
    -ms-flex: 1 1 0 !important;
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: 32rem !important;
    padding-right: 0 !important;
  }

  #banner.quiet-top-banner .image.object {
    -moz-flex: 0 0 clamp(20rem, 34vw, 35rem) !important;
    -webkit-flex: 0 0 clamp(20rem, 34vw, 35rem) !important;
    -ms-flex: 0 0 clamp(20rem, 34vw, 35rem) !important;
    flex: 0 0 clamp(20rem, 34vw, 35rem) !important;
    width: clamp(20rem, 34vw, 35rem) !important;
    height: clamp(30rem, 55vw, 63rem) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
  }
}

/* Medium windows: keep menu left and hero right without overflow */
@media screen and (min-width: 737px) and (max-width: 980px) {
  #banner.quiet-top-banner {
    -moz-flex-direction: row !important;
    -webkit-flex-direction: row !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
    gap: 2rem;
  }

  #banner.quiet-top-banner .content {
    -moz-flex: 1 1 0 !important;
    -webkit-flex: 1 1 0 !important;
    -ms-flex: 1 1 0 !important;
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: 24rem !important;
    padding-right: 0 !important;
  }

  #banner.quiet-top-banner .image.object {
    -moz-flex: 0 0 clamp(16rem, 40vw, 22rem) !important;
    -webkit-flex: 0 0 clamp(16rem, 40vw, 22rem) !important;
    -ms-flex: 0 0 clamp(16rem, 40vw, 22rem) !important;
    flex: 0 0 clamp(16rem, 40vw, 22rem) !important;
    width: clamp(16rem, 40vw, 22rem) !important;
    height: clamp(22rem, 50vw, 31rem) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
  }
}

/* Small screens: return clean stacked layout */
@media screen and (max-width: 736px) {
  #banner.quiet-top-banner {
    -moz-flex-direction: column-reverse !important;
    -webkit-flex-direction: column-reverse !important;
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
    gap: 1.5rem;
  }

  #banner.quiet-top-banner .content {
    width: 100% !important;
    max-width: none !important;
    padding-right: 0 !important;
  }

  #banner.quiet-top-banner .image.object {
    width: 100% !important;
    height: min(72vw, 28rem) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 1.25rem 0 !important;
  }
}


/* version 042: compact flowing text block for studio shop */
.compact-flow-box {
  max-width: 31rem;
}

.compact-flow-box p {
  max-width: 31rem;
}

@media screen and (max-width: 980px) {
  .compact-flow-box,
  .compact-flow-box p {
    max-width: none;
  }
}


/* version 044: make Access heading quieter than shop title */
.access-box h2 {
  color: #222;
  font-size: 1rem;
  letter-spacing: 0.01em;
  margin-bottom: 0.95rem;
}

.access-box p,
.access-box .actions {
  max-width: 30rem;
}

.access-box .parking-note {
  color: rgba(0, 0, 0, 0.68);
  font-size: 0.67rem;
  line-height: 1.65;
  margin-top: -0.65rem;
}


/* version 049: contact page simplified structure */
.contact-intro-block {
  max-width: 34rem;
}

.contact-intro-block p {
  margin: 0;
  max-width: none;
}

.contact-intro-block p + p {
  margin-top: 1.15rem;
}

.text-link {
  border-bottom: 1px dotted rgba(0, 0, 0, 0.34);
  padding-bottom: 0.02em;
}

.text-link:hover {
  border-bottom-color: rgba(0, 0, 0, 0.55);
}

.subtle-link {
  color: rgba(0, 0, 0, 0.72);
}

.contact-panel-single {
  max-width: 23rem;
  padding-top: 0;
}

.contact-actions {
  margin-top: 1.35rem;
}

.contact-action {
  margin: 0;
}

.contact-action + .contact-action {
  margin-top: 1rem;
}

.contact-action .button {
  min-width: 0;
}

.contact-details {
  margin: 0;
}

.contact-details p {
  line-height: 1.95;
  margin: 0 0 1.05rem 0;
  max-width: none;
}

.contact-details p:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 981px) {
  .contact-intro-block p {
    text-wrap: pretty;
  }

  .contact-panel-single {
    margin-top: 3.75rem;
  }
}

@media screen and (max-width: 980px) {
  .contact-intro-block,
  .contact-panel-single {
    max-width: none;
  }

  .contact-panel-single {
    margin-top: 2.35rem;
  }
}


.wholesale-intro-block { max-width: 42rem; }


/* version 014: stable language switch on page headers */
.lang-header {
  position: relative;
  padding-right: 3.5rem;
}

.lang-header h1 {
  margin-bottom: 0;
}

.lang-header .lang-switch {
  position: absolute;
  top: 0.2rem;
  right: 0;
  margin: 0;
  font-size: 0.95rem;
  line-height: 1;
}

.lang-header .lang-switch a {
  border-bottom: 0;
}

@media screen and (max-width: 736px) {
  .lang-header {
    padding-right: 3.25rem;
  }

  .lang-header .lang-switch {
    top: 0.15rem;
  }
}



/* version 072: recruit link shown under Contact in top menu */
.recruit-entry {
  margin-top: 2.2rem;
}

.recruit-menu-link,
.recruit-menu-link:hover,
.recruit-menu-link:focus {
  border-bottom: 0 !important;
  color: rgba(0, 0, 0, 0.42) !important;
}

.recruit-menu-link:hover {
  color: rgba(0, 0, 0, 0.56) !important;
}

@media screen and (max-width: 980px) {
  .recruit-entry {
    margin-top: 2rem;
  }
}

@media screen and (max-width: 736px) {
  .recruit-entry {
    margin-top: 1.75rem;
  }
}

/* version 015: language switch on home page header */
.home-header {
  align-items: flex-start;
}

.home-header .header-spacer {
  flex: 1 1 auto;
}

.site-lang-switch {
  flex: 0 0 auto;
  font-size: 0.95rem;
  line-height: 1;
  margin: 0;
  text-align: right;
}

.site-lang-switch a {
  border-bottom: 0;
}


/* version 018: temporary information page */
.information-intro {
  max-width: 34rem;
}

.information-sections .info-box {
  max-width: none;
}

.information-main-box {
  max-width: 38rem;
}

.information-side-box {
  max-width: 26rem;
}

.information-details {
  margin-top: 1.35rem;
}

.information-details li {
  color: #4a4a4a;
  line-height: 1.95;
  margin-bottom: 0.45rem;
}

.information-note {
  color: rgba(0,0,0,0.68);
}

@media screen and (max-width: 980px) {
  .information-main-box,
  .information-side-box {
    max-width: none;
  }
}


.spot-information-section {
  padding-top: 1.2rem !important;
}

.spot-information-layout {
  align-items: flex-start;
  display: block;
}

.spot-information-column {
  display: flex;
  justify-content: flex-end;
}

.spot-information-actions {
  margin: 0;
}

.spot-information-actions li {
  padding: 0;
}

.subdued-notice-button {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.14) !important;
  color: rgba(0, 0, 0, 0.5) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 3.1em !important;
  padding: 0 1.3em !important;
  text-transform: none !important;
}

.subdued-notice-button:hover {
  background-color: rgba(0, 0, 0, 0.025) !important;
  color: rgba(0, 0, 0, 0.58) !important;
}

.subdued-notice-button:active {
  background-color: rgba(0, 0, 0, 0.045) !important;
}

@media screen and (min-width: 981px) {
  .spot-information-section {
    margin-top: -2.85rem;
    padding-top: 0 !important;
  }

  .spot-information-layout {
    display: block;
  }

  .spot-information-column {
    justify-content: flex-end;
    max-width: min(42rem, calc(100% - min(40vw, 35rem) - 3.75em));
    padding-right: 0.2rem;
    width: min(42rem, calc(100% - min(40vw, 35rem) - 3.75em));
  }
}

@media screen and (min-width: 737px) and (max-width: 980px) {
  .spot-information-section {
    margin-top: -1.35rem;
    padding-top: 0 !important;
  }

  .spot-information-column {
    justify-content: flex-end;
    max-width: 16rem;
    width: 16rem;
  }
}

@media screen and (max-width: 736px) {
  .spot-information-section {
    padding-top: 1.35rem !important;
  }

  .spot-information-column {
    justify-content: flex-end;
  }
}


/* version 075: keep sidebar and main linked on desktop/tablet widths */
@media screen and (min-width: 737px) and (max-width: 1280px) {
  #wrapper {
    display: -moz-flex;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -moz-flex-direction: row-reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  #sidebar {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    height: auto !important;
    z-index: auto !important;
    box-shadow: none !important;
  }

  #sidebar > .inner {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    height: auto !important;
    overflow: visible !important;
    width: 24em;
  }

  #sidebar > .inner:after {
    display: none !important;
    height: 0 !important;
  }

  #sidebar.inactive {
    margin-left: -24em !important;
  }

  #sidebar .toggle {
    left: 24em !important;
  }
}
