/* =========================================================
   SIP SAP WHERE TO BUY & PARTNERSHIP
   File    : sipsap2026_where_to_buy.css
   Version : 1.1 — SP visual polish
   Updated : 2026-07-29
   Note    : Mobile typography / wrapping / area filter fix
   Scope   : #ss-wtb-main / .ss-wtb only
========================================================= */

.ss-wtb {
  --wtb-forest: #173e31;
  --wtb-deep: #0d2c22;
  --wtb-dark: #071e17;
  --wtb-sage: #dfe7dc;
  --wtb-ivory: #f3efe5;
  --wtb-paper: #fbfaf6;
  --wtb-warm: #f7f3ea;
  --wtb-white: #fff;
  --wtb-ink: #20382f;
  --wtb-muted: #66736d;
  --wtb-gold: #a9854d;
  --wtb-line: rgba(32, 56, 47, .14);
  --wtb-shadow: 0 22px 64px rgba(15, 47, 37, .10);
  --wtb-shadow-soft: 0 12px 34px rgba(15, 47, 37, .075);
  --wtb-serif: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  --wtb-sans: "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", sans-serif;
  --wtb-container: 1180px;
  --wtb-container-wide: 1320px;
  --wtb-gutter: 40px;

  position: relative;
  left: 50%;
  width: 100vw;
  max-width: none;
  margin-left: -50vw;
  overflow-x: clip;
  color: var(--wtb-ink);
  background: var(--wtb-paper);
  font-family: var(--wtb-sans);
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: .045em;
  -webkit-font-smoothing: antialiased;
}

.ss-wtb,
.ss-wtb *,
.ss-wtb *::before,
.ss-wtb *::after { box-sizing: border-box; }

.ss-wtb :where(section, nav, header, div, figure, picture, figcaption, h1, h2, h3, p, ol, ul, li, address, small) {
  margin: 0;
  padding: 0;
}

.ss-wtb :where(ol, ul) { list-style: none; }
.ss-wtb :where(a) { color: inherit; text-decoration: none; }
.ss-wtb :where(button) { font: inherit; }
.ss-wtb :where(img) { display: block; width: 100%; max-width: 100%; border: 0; }
.ss-wtb picture { display: block; line-height: 0; }
.ss-wtb figure { float: none; clear: both; }

body:has(#ss-wtb-main) .l-container__row:has(> .p-page_header),
body:has(#ss-wtb-main) .p-page_header { display: none !important; }

body:has(#ss-wtb-main) .l-container__row:has(#ss-wtb-main),
body:has(#ss-wtb-main) .ss-wtb__host {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:has(#ss-wtb-main) main.l-container,
body:has(#ss-wtb-main) .l-container { margin-top: 0 !important; padding-top: 0 !important; }

.ss-wtb__container {
  width: min(var(--wtb-container), calc(100% - (var(--wtb-gutter) * 2)));
  margin-inline: auto;
}

.ss-wtb__container--narrow {
  width: min(840px, calc(100% - (var(--wtb-gutter) * 2)));
}

.ss-wtb__section { position: relative; padding: 150px 0; }
.ss-wtb__section-head { margin-bottom: 50px; }
.ss-wtb__section-head--center { max-width: 850px; margin: 0 auto 76px; text-align: center; }
.ss-wtb__eyebrow { margin-bottom: 18px; color: var(--wtb-gold); font-family: Georgia, serif; font-size: 12px; font-weight: 600; line-height: 1.4; letter-spacing: .22em; }
.ss-wtb__eyebrow--light { color: rgba(255,255,255,.84); }
.ss-wtb__section-head h2,
.ss-wtb__partnership-copy h2,
.ss-wtb__message-copy h2,
.ss-wtb__contact-inner h2 { font-family: var(--wtb-serif); font-weight: 500; letter-spacing: .045em; }
.ss-wtb__section-head h2 { font-size: clamp(38px, 4vw, 62px); line-height: 1.48; }
.ss-wtb__section-lead { max-width: 720px; margin: 26px auto 0; color: var(--wtb-muted); font-size: 15px; line-height: 2; }
.ss-wtb__section-head--light h2 { color: #fff; }
.ss-wtb__section-head--light .ss-wtb__section-lead { color: rgba(255,255,255,.72); }

/* HERO */
.ss-wtb__hero { position: relative; min-height: clamp(740px, 90vh, 980px); display: grid; align-items: center; overflow: hidden; isolation: isolate; }
.ss-wtb__hero-media,
.ss-wtb__hero-overlay { position: absolute; inset: 0; }
.ss-wtb__hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ss-wtb__hero-overlay { z-index: 1; background: linear-gradient(90deg, rgba(7,30,23,.82) 0%, rgba(7,30,23,.60) 38%, rgba(7,30,23,.18) 72%, rgba(7,30,23,.05) 100%); }
.ss-wtb__hero-inner { position: relative; z-index: 2; width: min(var(--wtb-container), calc(100% - (var(--wtb-gutter) * 2))); margin-inline: auto; color: #fff; }
.ss-wtb__hero-title { max-width: 850px; font-family: var(--wtb-serif); font-size: clamp(49px, 6vw, 88px); font-weight: 500; line-height: 1.3; letter-spacing: .045em; text-shadow: 0 4px 30px rgba(0,0,0,.2); }
.ss-wtb__hero-lead { max-width: 620px; margin-top: 32px; color: rgba(255,255,255,.88); font-size: 16px; line-height: 2; }
.ss-wtb__hero-actions { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 46px; }

/* BREADCRUMB */
.ss-wtb__breadcrumb { border-bottom: 1px solid var(--wtb-line); background: var(--wtb-paper); }
.ss-wtb__breadcrumb ol { width: min(var(--wtb-container), calc(100% - (var(--wtb-gutter) * 2))); min-height: 60px; margin-inline: auto; display: flex; align-items: center; gap: 12px; color: var(--wtb-muted); font-size: 12px; }
.ss-wtb__breadcrumb li + li::before { content: "/"; margin-right: 12px; opacity: .45; }

/* BUTTONS */
.ss-wtb__button { display: inline-flex; min-width: 245px; min-height: 58px; align-items: center; justify-content: center; padding: 14px 30px; border: 1px solid transparent; font-size: 14px; font-weight: 600; line-height: 1.5; letter-spacing: .08em; text-align: center; transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease; }
.ss-wtb__button:hover { transform: translateY(-2px); }
.ss-wtb__button--primary { color: #fff !important; border-color: var(--wtb-forest); background: var(--wtb-forest); -webkit-text-fill-color: #fff !important; }
.ss-wtb__button--primary:hover { background: var(--wtb-deep); }
.ss-wtb__button--light { color: var(--wtb-deep) !important; border-color: #fff; background: #fff; -webkit-text-fill-color: var(--wtb-deep) !important; }
.ss-wtb__button--ghost-light { color: #fff !important; border-color: rgba(255,255,255,.82); background: rgba(7,30,23,.24); -webkit-text-fill-color: #fff !important; backdrop-filter: blur(3px); }
.ss-wtb__button--ghost-light:hover { color: var(--wtb-deep) !important; background: #fff; -webkit-text-fill-color: var(--wtb-deep) !important; }
.ss-wtb__text-link { display: inline-flex; padding-bottom: 5px; border-bottom: 1px solid currentColor; font-size: 14px; font-weight: 500; }

/* INTRO */
.ss-wtb__section--intro { background: var(--wtb-paper); }
.ss-wtb__intro-copy { color: #536159; font-size: 16px; line-height: 2.18; text-align: center; }
.ss-wtb__intro-copy p + p { margin-top: 1.5em; }

/* ONLINE */
.ss-wtb__section--online { background: var(--wtb-ivory); }
.ss-wtb__online-layout { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: clamp(70px, 8vw, 126px); align-items: center; }
.ss-wtb__online-copy > p { color: var(--wtb-muted); font-size: 15px; line-height: 2.1; }
.ss-wtb__online-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px 30px; margin-top: 42px; }
.ss-wtb__online-media { aspect-ratio: 4 / 3; overflow: hidden; box-shadow: var(--wtb-shadow-soft); }
.ss-wtb__online-media img { width: 100%; height: 100%; object-fit: cover; }

/* STORES */
.ss-wtb__section--stores { background: var(--wtb-paper); }
.ss-wtb__store-toolbar { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 54px; }
.ss-wtb__filter { min-height: 44px; padding: 8px 18px; border: 1px solid var(--wtb-line); border-radius: 999px; color: var(--wtb-muted); background: transparent; font-size: 12px; letter-spacing: .05em; cursor: pointer; transition: .25s ease; }
.ss-wtb__filter:hover,
.ss-wtb__filter.is-active { color: #fff; border-color: var(--wtb-forest); background: var(--wtb-forest); }
.ss-wtb__store-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.ss-wtb__store-card { min-height: 300px; padding: 30px; border: 1px solid var(--wtb-line); background: #fff; }
.ss-wtb__store-card[hidden] { display: none; }
.ss-wtb__store-card-head { display: flex; justify-content: space-between; gap: 16px; }
.ss-wtb__store-area { color: var(--wtb-gold); font-family: Georgia, serif; font-size: 10px; letter-spacing: .16em; }
.ss-wtb__store-type { color: var(--wtb-muted); font-size: 10px; }
.ss-wtb__store-card h3 { margin-top: 20px; font-family: var(--wtb-serif); font-size: 24px; font-weight: 500; line-height: 1.55; }
.ss-wtb__store-card address,
.ss-wtb__store-card p { margin-top: 16px; color: var(--wtb-muted); font-size: 13px; font-style: normal; line-height: 1.85; }
.ss-wtb__store-card a { display: inline-block; margin-top: 24px; padding-bottom: 4px; border-bottom: 1px solid currentColor; font-size: 12px; }
.ss-wtb__store-card--notice { grid-column: 1 / -1; min-height: 0; padding: 44px; text-align: center; background: var(--wtb-warm); }
.ss-wtb__store-card--notice h3 { margin-top: 16px; }
.ss-wtb__store-card--notice p:last-child { max-width: 680px; margin-inline: auto; }
.ss-wtb__store-caution { margin-top: 28px; color: var(--wtb-muted); font-size: 11px; text-align: center; }

/* FIT */
.ss-wtb__section--fit { color: #fff; background: var(--wtb-deep); }
.ss-wtb__fit-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.18); border-left: 1px solid rgba(255,255,255,.18); }
.ss-wtb__fit-grid li { min-height: 215px; padding: 34px; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.ss-wtb__fit-grid span { display: block; color: rgba(255,255,255,.45); font-family: Georgia, serif; font-size: 11px; }
.ss-wtb__fit-grid strong { display: block; margin-top: 40px; font-family: Georgia, serif; font-size: 17px; font-weight: 500; letter-spacing: .09em; }
.ss-wtb__fit-grid small { display: block; margin-top: 8px; color: rgba(255,255,255,.68); font-size: 12px; }

/* VALUE */
.ss-wtb__section--value { background: var(--wtb-warm); }
.ss-wtb__value-intro { display: grid; grid-template-columns: 1fr .9fr; gap: 90px; align-items: end; margin-bottom: 80px; }
.ss-wtb__value-intro .ss-wtb__section-head { margin: 0; }
.ss-wtb__value-copy { color: var(--wtb-muted); font-size: 15px; line-height: 2.05; }
.ss-wtb__value-copy p + p { margin-top: 1.4em; }
.ss-wtb__value-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; }
.ss-wtb__value-grid article { min-height: 270px; padding: 38px; border: 1px solid var(--wtb-line); background: #fff; }
.ss-wtb__value-grid span { color: var(--wtb-gold); font-family: Georgia, serif; font-size: 11px; }
.ss-wtb__value-grid h3 { margin-top: 34px; font-family: var(--wtb-serif); font-size: 25px; font-weight: 500; }
.ss-wtb__value-grid p { margin-top: 18px; color: var(--wtb-muted); font-size: 14px; line-height: 1.95; }

/* PARTNERSHIP */
.ss-wtb__partnership { position: relative; min-height: 850px; display: grid; align-items: center; overflow: hidden; color: #fff; isolation: isolate; }
.ss-wtb__partnership-media,
.ss-wtb__partnership-overlay { position: absolute; inset: 0; }
.ss-wtb__partnership-media img { width: 100%; height: 100%; object-fit: cover; }
.ss-wtb__partnership-overlay { z-index: 1; background: linear-gradient(90deg, rgba(7,30,23,.86), rgba(7,30,23,.62) 48%, rgba(7,30,23,.16) 82%); }
.ss-wtb__partnership-inner { position: relative; z-index: 2; }
.ss-wtb__partnership-copy { max-width: 660px; }
.ss-wtb__partnership-copy h2 { font-size: clamp(44px, 5vw, 72px); line-height: 1.45; }
.ss-wtb__partnership-copy > p:not(.ss-wtb__eyebrow) { margin-top: 24px; color: rgba(255,255,255,.84); font-size: 15px; line-height: 2; }
.ss-wtb__partnership-copy .ss-wtb__button { margin-top: 40px; }

/* SUPPORT */
.ss-wtb__section--support { background: var(--wtb-paper); }
.ss-wtb__support-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.ss-wtb__support-grid article { min-height: 320px; padding: 34px 28px; border: 1px solid var(--wtb-line); background: #fff; }
.ss-wtb__support-number { color: var(--wtb-gold); font-family: Georgia, serif; font-size: 12px; }
.ss-wtb__support-grid h3 { margin-top: 58px; font-family: var(--wtb-serif); font-size: 22px; font-weight: 500; line-height: 1.55; }
.ss-wtb__support-grid p { margin-top: 18px; color: var(--wtb-muted); font-size: 13px; line-height: 1.9; }

/* FLOW */
.ss-wtb__section--flow { background: var(--wtb-ivory); }
.ss-wtb__flow-list { max-width: 920px; margin-inline: auto; border-top: 1px solid var(--wtb-line); }
.ss-wtb__flow-list li { display: grid; grid-template-columns: 90px 1fr; gap: 36px; padding: 34px 0; border-bottom: 1px solid var(--wtb-line); }
.ss-wtb__flow-list > li > span { color: var(--wtb-gold); font-family: Georgia, serif; font-size: 22px; }
.ss-wtb__flow-list h3 { font-family: var(--wtb-serif); font-size: 24px; font-weight: 500; }
.ss-wtb__flow-list p { margin-top: 10px; color: var(--wtb-muted); font-size: 14px; line-height: 1.9; }

/* MESSAGE */
.ss-wtb__section--message { background: linear-gradient(180deg, #edf1e8, var(--wtb-warm)); }
.ss-wtb__message-layout { display: grid; grid-template-columns: .86fr 1fr; gap: clamp(70px, 8vw, 126px); align-items: center; }
.ss-wtb__message-media { min-height: 720px; overflow: hidden; }
.ss-wtb__message-media img { width: 100%; height: 100%; object-fit: cover; }
.ss-wtb__message-copy h2 { font-size: clamp(38px, 4vw, 60px); line-height: 1.5; }
.ss-wtb__message-body { margin-top: 38px; color: #536159; font-size: 15px; line-height: 2.12; }
.ss-wtb__message-body p + p { margin-top: 1.5em; }
.ss-wtb__message-sign { margin-top: 38px; color: var(--wtb-gold); font-family: Georgia, serif; font-size: 13px; letter-spacing: .14em; }

/* FAQ */
.ss-wtb__section--faq { background: var(--wtb-paper); }
.ss-wtb__faq-list { border-top: 1px solid var(--wtb-line); }
.ss-wtb__faq-list details { border-bottom: 1px solid var(--wtb-line); }
.ss-wtb__faq-list summary { position: relative; padding: 25px 54px 25px 0; font-family: var(--wtb-serif); font-size: 18px; line-height: 1.7; cursor: pointer; list-style: none; }
.ss-wtb__faq-list summary::-webkit-details-marker { display: none; }
.ss-wtb__faq-list summary::before,
.ss-wtb__faq-list summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 18px; height: 1px; background: var(--wtb-ink); transition: transform .25s ease; }
.ss-wtb__faq-list summary::after { transform: rotate(90deg); }
.ss-wtb__faq-list details[open] summary::after { transform: rotate(0); }
.ss-wtb__faq-list details div { padding: 0 56px 28px 0; }
.ss-wtb__faq-list details p { color: var(--wtb-muted); font-size: 14px; line-height: 1.95; }

/* CONTACT */
.ss-wtb__contact { padding: 150px 0; color: #fff; background: var(--wtb-deep); text-align: center; }
.ss-wtb__contact-inner { max-width: 900px; }
.ss-wtb__contact-inner h2 { font-size: clamp(42px, 5vw, 70px); line-height: 1.45; }
.ss-wtb__contact-inner > p:not(.ss-wtb__eyebrow) { margin-top: 28px; color: rgba(255,255,255,.76); font-size: 15px; }
.ss-wtb__contact-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px; margin-top: 44px; }
.ss-wtb__contact-inner small { display: block; margin-top: 24px; color: rgba(255,255,255,.58); font-size: 11px; }

.ss-wtb a:focus-visible,
.ss-wtb button:focus-visible,
.ss-wtb summary:focus-visible { outline: 2px solid #d5b778; outline-offset: 4px; }

.ss-wtb + *,
body:has(#ss-wtb-main) footer { margin-top: 0 !important; }

@media (max-width: 1024px) {
  .ss-wtb { --wtb-gutter: 24px; }
  .ss-wtb__section { padding: 122px 0; }
  .ss-wtb__store-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ss-wtb__support-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ss-wtb__message-media { min-height: 620px; }
}

@media (max-width: 767px) {
  .ss-wtb { --wtb-gutter: 18px; font-size: 15px; overflow-x: hidden; }
  .ss-wtb__section { padding: 96px 0; }
  .ss-wtb__section-head { margin-bottom: 38px; }
  .ss-wtb__section-head--center { margin-bottom: 54px; }
  .ss-wtb__eyebrow { margin-bottom: 15px; font-size: 10px; }
  .ss-wtb__section-head h2 { font-size: clamp(31px, 9vw, 42px); }
  .ss-wtb__section-lead { font-size: 14px; }

  .ss-wtb__hero { min-height: 780px; align-items: end; }
  .ss-wtb__hero-media img { object-position: 64% center; }
  .ss-wtb__hero-overlay { background: linear-gradient(180deg, rgba(7,30,23,.06), rgba(7,30,23,.28) 42%, rgba(7,30,23,.9) 100%); }
  .ss-wtb__hero-inner { padding-bottom: 66px; }
  .ss-wtb__hero-title { font-size: 40px; line-height: 1.38; }
  .ss-wtb__hero-lead { margin-top: 22px; font-size: 14px; }
  .ss-wtb__hero-actions { display: grid; gap: 12px; margin-top: 34px; }

  .ss-wtb__breadcrumb ol { min-height: 52px; font-size: 10px; }
  .ss-wtb__button { width: 100%; min-width: 0; }

  .ss-wtb__intro-copy { font-size: 15px; line-height: 2.05; text-align: left; }
  .ss-wtb__online-layout,
  .ss-wtb__value-intro,
  .ss-wtb__message-layout { display: block; }
  .ss-wtb__online-media { margin-top: 52px; }
  .ss-wtb__online-actions { display: grid; }

  .ss-wtb__store-toolbar { justify-content: flex-start; flex-wrap: nowrap; margin-inline: calc(var(--wtb-gutter) * -1); padding-inline: var(--wtb-gutter); overflow-x: auto; scrollbar-width: none; }
  .ss-wtb__store-toolbar::-webkit-scrollbar { display: none; }
  .ss-wtb__filter { flex: 0 0 auto; }
  .ss-wtb__store-grid { grid-template-columns: 1fr; }
  .ss-wtb__store-card--notice { padding: 32px 24px; }

  .ss-wtb__fit-grid { grid-template-columns: 1fr; }
  .ss-wtb__fit-grid li { min-height: 170px; }
  .ss-wtb__fit-grid strong { margin-top: 28px; }

  .ss-wtb__value-copy { margin-top: 30px; }
  .ss-wtb__value-grid { grid-template-columns: 1fr; }
  .ss-wtb__value-grid article { min-height: 0; padding: 30px 24px; }

  .ss-wtb__partnership { min-height: 820px; align-items: end; }
  .ss-wtb__partnership-media img { object-position: 62% center; }
  .ss-wtb__partnership-overlay { background: linear-gradient(180deg, rgba(7,30,23,.08), rgba(7,30,23,.34) 42%, rgba(7,30,23,.92) 100%); }
  .ss-wtb__partnership-inner { padding-bottom: 70px; }
  .ss-wtb__partnership-copy h2 { font-size: 39px; }
  .ss-wtb__partnership-copy > p:not(.ss-wtb__eyebrow) { font-size: 14px; }

  .ss-wtb__support-grid { grid-template-columns: 1fr; }
  .ss-wtb__support-grid article { min-height: 0; }
  .ss-wtb__support-grid h3 { margin-top: 38px; }

  .ss-wtb__flow-list li { grid-template-columns: 58px 1fr; gap: 20px; }
  .ss-wtb__flow-list > li > span { font-size: 18px; }
  .ss-wtb__flow-list h3 { font-size: 21px; }

  .ss-wtb__message-media { min-height: 0; aspect-ratio: 4 / 5; margin-bottom: 56px; }
  .ss-wtb__message-copy h2 { font-size: 37px; }
  .ss-wtb__message-body { font-size: 15px; }

  .ss-wtb__faq-list summary { padding-right: 42px; font-size: 16px; }
  .ss-wtb__faq-list details div { padding-right: 20px; }

  .ss-wtb__contact { padding: 104px 0; }
  .ss-wtb__contact-inner h2 { font-size: 38px; }
  .ss-wtb__contact-actions { display: grid; }
}

@media (max-width: 390px) {
  .ss-wtb__hero-title { font-size: 35px; }
  .ss-wtb__section-head h2,
  .ss-wtb__message-copy h2,
  .ss-wtb__contact-inner h2 { font-size: 31px; }
  .ss-wtb__partnership-copy h2 { font-size: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  .ss-wtb *,
  .ss-wtb *::before,
  .ss-wtb *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}


/* =========================================================
   25. MOBILE VISUAL POLISH — VIDEO REVIEW 2026-07-29
   - Typography and line-break balance
   - Region filters no longer clip horizontally
   - Safer vertical spacing and content width
========================================================= */
@media (max-width: 767px) {
  .ss-wtb {
    --wtb-gutter: 20px;
    font-size: 14px;
    line-height: 1.85;
  }

  .ss-wtb__section {
    padding: 84px 0;
  }

  .ss-wtb__section-head,
  .ss-wtb__section-head--center {
    width: 100%;
    max-width: 100%;
  }

  .ss-wtb__section-head {
    margin-bottom: 34px;
  }

  .ss-wtb__section-head--center {
    margin-bottom: 46px;
  }

  .ss-wtb__eyebrow {
    margin-bottom: 13px;
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .18em;
  }

  .ss-wtb__section-head h2,
  .ss-wtb__partnership-copy h2,
  .ss-wtb__message-copy h2,
  .ss-wtb__contact-inner h2 {
    text-wrap: balance;
    word-break: keep-all;
    overflow-wrap: normal;
  }

  .ss-wtb__section-head h2 {
    font-size: clamp(28px, 7.3vw, 36px);
    line-height: 1.55;
    letter-spacing: .025em;
  }

  .ss-wtb__section-lead {
    max-width: 34em;
    margin-top: 20px;
    font-size: 13px;
    line-height: 1.9;
    letter-spacing: .025em;
  }

  /* HERO */
  .ss-wtb__hero {
    min-height: min(820px, calc(100svh - 58px));
    align-items: end;
  }

  .ss-wtb__hero-inner {
    padding-bottom: 52px;
  }

  .ss-wtb__hero-title {
    max-width: 9.5em;
    font-size: clamp(32px, 8.6vw, 37px);
    line-height: 1.42;
    letter-spacing: .025em;
    text-wrap: balance;
    word-break: keep-all;
  }

  .ss-wtb__hero-lead {
    max-width: 31em;
    margin-top: 19px;
    font-size: 13px;
    line-height: 1.9;
    letter-spacing: .025em;
  }

  .ss-wtb__hero-actions {
    gap: 10px;
    margin-top: 28px;
  }

  .ss-wtb__button {
    min-height: 54px;
    padding: 13px 18px;
    font-size: 13px;
    line-height: 1.45;
  }

  /* BREADCRUMB */
  .ss-wtb__breadcrumb ol {
    min-height: 50px;
    gap: 9px;
    font-size: 9px;
    white-space: normal;
  }

  .ss-wtb__breadcrumb li + li::before {
    margin-right: 9px;
  }

  /* INTRO / ONLINE */
  .ss-wtb__intro-copy,
  .ss-wtb__online-copy > p,
  .ss-wtb__value-copy,
  .ss-wtb__message-body {
    font-size: 14px;
    line-height: 2;
    letter-spacing: .025em;
  }

  .ss-wtb__intro-copy {
    text-align: left;
  }

  .ss-wtb__online-actions {
    gap: 16px;
    margin-top: 32px;
  }

  .ss-wtb__online-media {
    margin-top: 42px;
  }

  /* STORE AREA FILTERS — prevent right-side clipping */
  .ss-wtb__store-toolbar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    margin: 0 0 38px;
    padding: 0;
    gap: 8px;
    overflow: visible;
  }

  .ss-wtb__filter {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 8px 5px;
    border-radius: 999px;
    font-size: 10px;
    line-height: 1.35;
    letter-spacing: 0;
    white-space: normal;
  }

  .ss-wtb__store-grid {
    gap: 16px;
  }

  .ss-wtb__store-card {
    min-height: 0;
    padding: 25px 22px 27px;
  }

  .ss-wtb__store-card-head {
    gap: 10px;
  }

  .ss-wtb__store-area,
  .ss-wtb__store-type {
    font-size: 9px;
  }

  .ss-wtb__store-card h3 {
    margin-top: 16px;
    font-size: 21px;
    line-height: 1.5;
    letter-spacing: .025em;
  }

  .ss-wtb__store-card address,
  .ss-wtb__store-card p {
    margin-top: 13px;
    font-size: 12px;
    line-height: 1.8;
  }

  .ss-wtb__store-card a {
    margin-top: 20px;
    font-size: 11px;
  }

  .ss-wtb__store-card--notice {
    padding: 28px 20px;
  }

  .ss-wtb__store-caution {
    margin-top: 23px;
    font-size: 10px;
    line-height: 1.75;
  }

  /* NATURAL FIT */
  .ss-wtb__fit-grid li {
    min-height: 142px;
    padding: 25px 24px;
  }

  .ss-wtb__fit-grid strong {
    margin-top: 23px;
    font-size: 15px;
    line-height: 1.5;
  }

  .ss-wtb__fit-grid small {
    font-size: 11px;
    line-height: 1.7;
  }

  /* VALUE */
  .ss-wtb__value-intro {
    margin-bottom: 50px;
  }

  .ss-wtb__value-copy {
    margin-top: 24px;
  }

  .ss-wtb__value-grid {
    gap: 14px;
  }

  .ss-wtb__value-grid article {
    padding: 26px 22px;
  }

  .ss-wtb__value-grid h3 {
    margin-top: 25px;
    font-size: 21px;
    line-height: 1.55;
  }

  .ss-wtb__value-grid p {
    margin-top: 13px;
    font-size: 13px;
    line-height: 1.85;
  }

  /* PARTNERSHIP */
  .ss-wtb__partnership {
    min-height: 760px;
  }

  .ss-wtb__partnership-inner {
    padding-bottom: 54px;
  }

  .ss-wtb__partnership-copy {
    max-width: 100%;
  }

  .ss-wtb__partnership-copy h2 {
    max-width: 10.5em;
    font-size: clamp(31px, 8vw, 36px);
    line-height: 1.48;
    letter-spacing: .025em;
  }

  .ss-wtb__partnership-copy > p:not(.ss-wtb__eyebrow) {
    max-width: 33em;
    margin-top: 19px;
    font-size: 13px;
    line-height: 1.9;
  }

  .ss-wtb__partnership-copy .ss-wtb__button {
    margin-top: 30px;
  }

  /* SUPPORT */
  .ss-wtb__support-grid {
    gap: 14px;
  }

  .ss-wtb__support-grid article {
    padding: 27px 22px;
  }

  .ss-wtb__support-grid h3 {
    margin-top: 30px;
    font-size: 20px;
    line-height: 1.55;
  }

  .ss-wtb__support-grid p {
    margin-top: 13px;
    font-size: 12px;
    line-height: 1.85;
  }

  /* FLOW */
  .ss-wtb__flow-list li {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    padding: 27px 0;
  }

  .ss-wtb__flow-list > li > span {
    font-size: 15px;
  }

  .ss-wtb__flow-list h3 {
    font-size: 19px;
    line-height: 1.55;
  }

  .ss-wtb__flow-list p {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.85;
  }

  /* MESSAGE */
  .ss-wtb__message-media {
    margin-bottom: 44px;
  }

  .ss-wtb__message-copy h2 {
    font-size: clamp(29px, 7.5vw, 35px);
    line-height: 1.55;
    letter-spacing: .025em;
  }

  .ss-wtb__message-body {
    margin-top: 28px;
  }

  .ss-wtb__message-sign {
    margin-top: 29px;
    font-size: 11px;
  }

  /* FAQ */
  .ss-wtb__faq-list summary {
    padding: 21px 38px 21px 0;
    font-size: 14px;
    line-height: 1.65;
    letter-spacing: .02em;
  }

  .ss-wtb__faq-list summary::before,
  .ss-wtb__faq-list summary::after {
    right: 3px;
    width: 15px;
  }

  .ss-wtb__faq-list details div {
    padding: 0 24px 23px 0;
  }

  .ss-wtb__faq-list details p {
    font-size: 12px;
    line-height: 1.85;
  }

  /* FINAL CTA */
  .ss-wtb__contact {
    padding: 86px 0;
  }

  .ss-wtb__contact-inner h2 {
    max-width: 11.5em;
    margin-inline: auto;
    font-size: clamp(29px, 7.4vw, 34px);
    line-height: 1.52;
    letter-spacing: .02em;
  }

  .ss-wtb__contact-inner > p:not(.ss-wtb__eyebrow) {
    max-width: 32em;
    margin: 21px auto 0;
    font-size: 13px;
    line-height: 1.85;
  }

  .ss-wtb__contact-actions {
    gap: 10px;
    margin-top: 31px;
  }

  .ss-wtb__contact-inner small {
    margin-top: 19px;
    font-size: 9px;
    line-height: 1.7;
  }
}

@media (max-width: 480px) {
  .ss-wtb__store-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 390px) {
  .ss-wtb {
    --wtb-gutter: 17px;
  }

  .ss-wtb__hero-title {
    font-size: 31px;
  }

  .ss-wtb__section-head h2,
  .ss-wtb__message-copy h2,
  .ss-wtb__contact-inner h2 {
    font-size: 28px;
  }

  .ss-wtb__partnership-copy h2 {
    font-size: 30px;
  }
}
