/* One information page shared by server rendering and client navigation. */
.store-information-page { padding:20px 0 76px; color:var(--ink,#30292e); }
.store-information-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:24px; font-size:13px; line-height:1.6; color:#73666b; }
.store-information-breadcrumb a { color:inherit; text-decoration:none; }
.store-information-hero { padding:40px 46px 42px; margin-bottom:36px; background:#f8efed; border:1px solid #eee3e0; border-radius:26px; }
.store-information-eyebrow { margin:0 0 12px; color:#8e425b; font-size:12px; line-height:1.6; letter-spacing:.07em; }
.store-information-hero h1 { margin:0 0 14px; font-size:clamp(30px,3vw,42px); line-height:1.2; font-weight:500; letter-spacing:-.025em; }
.store-information-hero > p:last-child { max-width:610px; margin:0; font-size:16px; line-height:1.75; color:#6b5961; }
.store-information-layout { display:grid; grid-template-columns:238px minmax(0,1fr); align-items:start; gap:48px; }
.store-information-toc { position:sticky; top:112px; display:grid; gap:3px; padding:14px 0; }
.store-information-toc > p { margin:0 14px 15px; font-size:12px; line-height:1.6; color:#87767c; }
.store-information-toc a { display:flex; align-items:center; gap:12px; min-height:46px; padding:11px 14px; border-radius:12px; color:#64535b; text-decoration:none; font-size:14px; line-height:1.5; transition:color 150ms ease,background-color 150ms ease; }
.store-information-icon { flex:none; display:block; width:22px; height:22px; }
.store-information-toc .store-information-icon { width:18px; height:18px; color:#a47484; }
.store-information-toc a[aria-current="location"] { background:#f7eeeb; color:#8b3653; }
.store-information-sections { min-width:0; }
.store-information-section { padding:30px 0 36px; border-top:1px solid #e9dfdb; scroll-margin-top:150px; outline:none; }
.store-information-section:first-child { border-top:0; padding-top:14px; }
.store-information-section > header { display:flex; align-items:center; gap:17px; margin-bottom:20px; }
.store-information-icon-wrap { display:grid; place-items:center; flex:none; width:48px; height:48px; border:1px solid #eee0db; border-radius:16px; background:#faf4f0; color:#9c536c; }
.store-information-section h2 { margin:0 0 6px; font-size:24px; line-height:1.3; font-weight:500; letter-spacing:-.015em; }
.store-information-lead { margin:0; font-size:13px; line-height:1.6; color:#85727b; }
.store-information-copy { padding-left:65px; }
.store-information-copy p { max-width:680px; margin:0 0 14px; color:#66575f; font-size:15px; line-height:1.85; }
.store-information-copy p:last-child { margin-bottom:0; }
.store-information-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; margin-top:4px; color:#913c58; text-decoration:none; font-size:14px; line-height:1.5; }
.store-information-link span,.store-information-map span { display:inline-block; transition:transform 160ms cubic-bezier(.23,1,.32,1); }
.store-information-contacts { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:30px; }
.store-information-contacts h3 { margin:22px 0 8px; font-size:13px; line-height:1.6; font-weight:500; color:#8c767e; }
.store-information-contacts h3:first-child { margin-top:0; }
.store-information-contacts address { color:#483a42; font-size:15px; line-height:1.8; font-style:normal; }
.store-information-map { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#913c58; font-size:13px; text-decoration:none; }
.store-information-phones { display:grid; gap:2px; }
.store-information-phones a { display:flex; align-items:center; width:fit-content; min-height:36px; color:#483a42; text-decoration:none; font-size:17px; line-height:1.5; font-variant-numeric:tabular-nums; }
.store-information-email { display:inline-flex; align-items:center; min-height:36px; color:#913c58; font-size:15px; line-height:1.6; overflow-wrap:anywhere; text-decoration:none; }
.store-information-copy .store-information-consultant { margin-top:14px; font-size:13px; }
.store-information-page a:focus-visible { outline:2px solid #a44968; outline-offset:4px; border-radius:5px; }
.store-information-section:focus-visible > header { border-radius:12px; outline:2px solid #a44968; outline-offset:7px; }
@media (hover:hover) and (pointer:fine) {
  .store-information-toc a:hover { background:#f7eeeb; color:#8b3653; }
  .store-information-page a:hover { text-decoration:underline; text-underline-offset:4px; }
  .store-information-link:hover span,.store-information-map:hover span { transform:translate(2px,-2px); }
}
@media (max-width:900px) {
  .store-information-layout { grid-template-columns:200px minmax(0,1fr); gap:28px; }
  .store-information-copy { padding-left:0; }
  .store-information-contacts { grid-template-columns:1fr; gap:26px; }
  .store-information-hero { padding:32px; }
}
@media (max-width:680px) {
  .store-information-page { padding-top:12px; padding-bottom:42px; }
  .store-information-breadcrumb { margin-bottom:16px; }
  .store-information-hero { padding:26px 22px; margin-bottom:22px; border-radius:20px; }
  .store-information-hero > p:last-child { font-size:15px; }
  .store-information-layout { grid-template-columns:1fr; gap:8px; }
  .store-information-toc { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 7px; padding:0 0 22px; border-bottom:1px solid #e9dfdb; }
  .store-information-toc > p { grid-column:1/-1; margin-left:10px; margin-bottom:8px; }
  .store-information-toc a { gap:8px; padding:10px; font-size:13px; }
  .store-information-section { padding:26px 0 30px; scroll-margin-top:146px; }
  .store-information-section:first-child { padding-top:22px; }
  .store-information-section > header { gap:12px; align-items:flex-start; }
  .store-information-icon-wrap { width:42px; height:42px; border-radius:14px; }
  .store-information-section h2 { font-size:22px; }
  .store-information-copy p { font-size:14px; line-height:1.85; }
}
@media (max-width:360px) {
  .store-information-toc { grid-template-columns:1fr; }
  .store-information-hero { padding:24px 18px; }
}
@media (prefers-reduced-motion:reduce) {
  .store-information-toc a,.store-information-link span,.store-information-map span { transition:none; }
}
