/* TW7.info release.json governs this showcase. Original Store images stay intact. */
.whistle-showcase { padding: 24px 0 56px; color: #171e55; background: #f6f7fc; }
.whistle-showcase [hidden] { display: none !important; }
.whistle-disclosure { margin: 0 0 30px; color: #625b6e; font-size: .65rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.whistle-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; padding-bottom: 64px; border-bottom: 1px solid #ccd1e4; }
.whistle-identity { display: flex; align-items: center; gap: 15px; font-size: 1rem; font-weight: 900; }
.whistle-identity img { width: 62px; height: 62px; }
.whistle-identity small { color: #59617d; font-size: .67rem; font-weight: 500; }
.whistle-hero h1 { margin: 26px 0 18px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.5rem, 4.5vw, 4.3rem); line-height: 1.03; letter-spacing: -.04em; }
.whistle-hero h1 em { color: #a94000; font-style: normal; }
.whistle-intro { max-width: 580px; color: #4c5470; font-size: 1rem; line-height: 1.7; }
.whistle-availability { display: grid; gap: 7px; margin: 24px 0; padding: 17px 20px; border-left: 4px solid #ed6500; background: #fff0e1; font-size: .78rem; line-height: 1.6; }
.whistle-availability strong { font-size: .88rem; }
.whistle-actions { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }
.whistle-button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 44px; padding: 14px 20px; color: #fff; background: #171e55; font-size: .8rem; font-weight: 800; line-height: 1.5; text-decoration: none; }
.whistle-text-link { font-size: .8rem; font-weight: 800; }
.whistle-preview-note { max-width: 520px; color: #59617d; font-size: .73rem; line-height: 1.6; }
.whistle-hero__visual, .whistle-feature figure { min-width: 0; margin: 0; }
.whistle-hero__visual img, .whistle-feature figure img { display: block; width: 100%; height: auto; border: 1px solid #d2d8ed; box-shadow: 0 12px 40px #171e5512; }
.whistle-showcase figcaption { margin-top: 10px; color: #59617d; font-size: .62rem; line-height: 1.5; }
.whistle-tour { scroll-margin-top: 30px; padding-top: 58px; }
.whistle-section-heading { max-width: 700px; margin-bottom: 30px; }
.whistle-section-heading h2, .whistle-next h2 { margin: 10px 0 16px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.9rem, 3vw, 2.7rem); line-height: 1.13; }
.whistle-section-heading > p:last-child { color: #59617d; font-size: .85rem; line-height: 1.7; }
.whistle-feature { display: grid; grid-template-columns: minmax(0, .55fr) minmax(0, 1fr); align-items: center; gap: 44px; padding: 36px 0; border-top: 1px solid #d9dcec; }
.whistle-step { display: block; color: #a94000; font-size: .75rem; font-weight: 900; letter-spacing: .12em; }
.whistle-feature h3 { margin: 15px 0; font-family: Georgia, 'Times New Roman', serif; font-size: 2rem; line-height: 1.1; }
.whistle-feature__copy p { color: #4c5470; font-size: .88rem; line-height: 1.75; }
.whistle-feature__copy > a { display: inline-block; margin-top: 12px; padding: 8px 0; font-size: .74rem; font-weight: 800; }
.whistle-next { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .65fr); gap: 40px; align-items: center; margin-top: 40px; padding: 32px; background: #fff; border-top: 4px solid #ed6500; }
.whistle-next p { color: #4c5470; font-size: .85rem; line-height: 1.7; }
.whistle-next__links { display: grid; gap: 18px; font-size: .8rem; line-height: 1.6; }
.whistle-source { padding-top: 30px; color: #62687f; font-size: .67rem; line-height: 1.7; }
.whistle-layout-credit { display: flex; align-items: center; gap: 10px; }
.whistle-layout-credit img { width: 32px; height: 32px; }
@media (max-width: 900px) {
  .whistle-hero { grid-template-columns: 1fr; gap: 28px; }
  .whistle-hero__visual { max-width: 780px; }
  .whistle-feature { grid-template-columns: minmax(0, .7fr) minmax(0, 1fr); gap: 26px; }
}
@media (max-width: 640px) {
  .whistle-disclosure { font-size: .59rem; }
  .whistle-hero { padding-bottom: 34px; }
  .whistle-hero h1 { font-size: 2.65rem; }
  .whistle-tour { padding-top: 36px; }
  .whistle-feature, .whistle-next { grid-template-columns: 1fr; gap: 20px; }
  .whistle-feature { padding: 28px 0; }
  .whistle-feature h3 { font-size: 1.8rem; }
  .whistle-next { padding: 24px; }
  .whistle-button { width: 100%; }
}
