/* One compact store directory: four columns on desktop, two on small screens. */
.store-directory {--store-grid-rule:#52605238;position:relative;padding:80px 6% 72px;background:#e9ece3;color:#27332b;scroll-margin-top:76px;}
.store-directory-heading {display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:36px;scroll-margin-top:76px;}
.store-directory-kicker {font-size:12px;letter-spacing:.1em;margin-bottom:18px;}
.store-directory-heading h2 {font:500 clamp(32px,3.8vw,52px)/1.5 Shippori,serif;letter-spacing:.025em;}
.store-directory-heading>p {font-size:14px;line-height:1.9;color:#596358;padding-bottom:5px;}
.store-directory-notice {display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;border-top:1px solid var(--store-grid-rule);border-bottom:1px solid var(--store-grid-rule);padding:14px 0;margin-bottom:28px;font-size:12px;line-height:1.8;}
.store-directory-notice>span {font-weight:600;}
.store-directory-notice a {display:inline-block;text-decoration:underline;text-underline-offset:3px;margin-left:12px;}
.store-directory-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;align-items:start;scroll-margin-top:76px;}
.store-grid-card {min-width:0;scroll-margin-top:76px;}
.store-grid-photo {margin:0;aspect-ratio:1.5;overflow:hidden;background:#d9ddcf;}
.store-grid-photo img {width:100%;height:100%;object-fit:cover;object-position:50% 50%;}
#roppongi .store-grid-photo img {object-position:50% 50%;}
#kyoto .store-grid-photo img {object-position:50% 60%;}
.store-grid-okinawa .store-grid-photo img {object-position:50% 50%;}
.store-grid-title {position:relative;padding-top:20px;margin-bottom:14px;}
.store-grid-number {position:absolute;top:25px;right:0;font:12px/1.4 Shippori,serif;color:#77816e;}
.store-grid-title h3 {font:500 clamp(26px,2.6vw,38px)/1.3 Shippori,serif;letter-spacing:.025em;margin:0 0 8px;padding-right:22px;}
.store-grid-malaysia .store-grid-title h3 {font-size:clamp(23px,2.3vw,34px);letter-spacing:0;}
.store-grid-title>p {font-size:13px;line-height:1.7;letter-spacing:.015em;}
.store-grid-intro {font-size:14px;line-height:1.8;color:#586252;min-height:7.2em;margin:0 0 17px;}
.store-grid-links {display:grid;grid-template-columns:1fr;border-top:1px solid var(--store-grid-rule);}
.store-grid-links>a {display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;font-size:13px;line-height:1.6;border-bottom:1px solid var(--store-grid-rule);}
.store-grid-links>a>span {font-size:19px;line-height:1;flex-shrink:0;}
.store-grid-details {border-bottom:1px solid var(--store-grid-rule);}
.store-grid-details>summary {list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:11px 0;font-size:13px;line-height:1.7;cursor:pointer;}
.store-grid-details>summary::-webkit-details-marker {display:none;}
.store-grid-details>summary>span {font-size:20px;line-height:1;transition:transform .2s ease;}
.store-grid-details[open]>summary>span {transform:rotate(45deg);}
.store-grid-details>summary:focus-visible {outline:2px solid #826a44;outline-offset:4px;}
.store-grid-details-body {padding:3px 0 19px;}
.store-grid-story {font-size:13px;line-height:1.85;color:#53604f;}
.store-grid-story+.store-grid-story {margin-top:13px;}
.store-grid-details dl {margin:18px 0 0;}
.store-grid-details dl>div+div {margin-top:15px;}
.store-grid-details dt {font-size:12px;line-height:1.6;font-weight:600;margin:0 0 5px;color:#52614c;}
.store-grid-details dd {font-size:13px;line-height:1.8;margin:0;overflow-wrap:anywhere;}
.store-grid-roman {display:block;margin-top:8px;font-size:12px;line-height:1.7;}
.store-grid-hours {font-size:12px;line-height:1.8;margin-top:18px;color:#5b6654;}
.store-grid-hours a {text-decoration:underline;text-underline-offset:3px;}
.store-grid-phone {position:relative;display:block;margin-top:16px;padding:12px 22px 0 0;border-top:1px solid var(--store-grid-rule);font-size:12px;line-height:1.7;}
.store-grid-phone strong {display:block;font-size:14px;font-weight:400;}
.store-grid-phone>span:last-child {position:absolute;right:0;bottom:1px;font-size:19px;}
.store-grid-photo-note {font-size:12px;line-height:1.7;color:#67725e;margin-top:14px;}
@media(max-width:1100px) {
  .store-directory {padding-inline:5%;}
  .store-directory-grid {gap:20px;}
  .store-grid-title h3 {font-size:29px;}
  .store-grid-malaysia .store-grid-title h3 {font-size:23px;}
  .store-grid-number {font-size:12px;top:24px;}
}
@media(max-width:900px) {
  .store-directory {padding:46px 6% 42px;}
  .store-directory-heading {display:block;margin-bottom:26px;}
  .store-directory-kicker {font-size:12px;margin-bottom:13px;}
  .store-directory-heading h2 {font-size:32px;line-height:1.5;}
  .store-directory-heading>p {font-size:13px;line-height:1.8;margin-top:15px;padding:0;}
  .store-directory-notice {display:block;padding:12px 0;margin-bottom:24px;font-size:12px;}
  .store-directory-notice>span {display:block;margin-bottom:4px;}
  .store-directory-notice a {margin-left:0;}
  .store-directory-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px;}
  .store-grid-title {padding-top:16px;margin-bottom:12px;}
  .store-grid-title h3 {font-size:29px;margin-bottom:7px;}
  .store-grid-malaysia .store-grid-title h3 {font-size:clamp(21px,5.2vw,29px);}
  .store-grid-number {top:21px;font-size:12px;}
  .store-grid-title>p {font-size:12px;line-height:1.7;letter-spacing:0;}
  .store-grid-intro {font-size:13px;line-height:1.8;min-height:7.2em;margin-bottom:12px;}
  .store-grid-links>a {font-size:12px;min-height:41px;}
  .store-grid-links>a>span {font-size:18px;}
  .store-grid-details>summary {font-size:13px;min-height:44px;}
  .store-grid-details-body {padding-bottom:16px;}
}
@media(max-width:360px) {
  .store-directory {padding-inline:5%;}
  .store-directory-heading h2 {font-size:28px;}
  .store-directory-grid {column-gap:14px;row-gap:28px;}
  .store-grid-title h3 {font-size:27px;padding-right:18px;}
  .store-grid-malaysia .store-grid-title h3 {font-size:20px;}
  .store-grid-title>p {font-size:12px;}
  .store-grid-intro {min-height:9em;}
  .store-grid-links>a {gap:7px;}
}
@media(prefers-reduced-motion:reduce) {.store-grid-details>summary>span {transition:none;}}
/* Keep links aligned even when the longer Malaysia name uses a smaller size. */
.store-grid-title h3 { min-height:1.3em; }
@media(min-width:901px) { .store-grid-title h3 { min-height:50px; } }
@media(max-width:900px) { .store-grid-title h3 { min-height:38px; } }

/* Keep the sign on the left and the entrance visible in the real storefront photo. */
#malaysia .store-grid-photo img {object-position:20% 50%;filter:none;}
