/* The phone layout has its own reading rhythm; larger screens keep the
   original editorial composition. Load after mobile-layout.css. */
@media (max-width: 360px) {
  .header-actions .btn > .icon { display: none; }
  .header-actions .btn { min-height: 44px; }
}
@media (max-width: 600px) {
  .home-page .showcase-intro {
    padding: 44px 18px 48px;
    text-align: left;
  }
  .home-page .showcase-intro .intro-topics {
    justify-content: flex-start;
    gap: 6px;
  }
  .home-page .showcase-intro .intro-topics > span {
    gap: 5px;
    padding: 6px 8px;
    font-size: 10.5px;
    line-height: 1.3;
  }
  .home-page .showcase-intro .intro-topics .icon { width: 12px; height: 12px; }
  .home-page .showcase-intro .showcase-title {
    max-width: 420px;
    margin: 26px 0 0;
    font-size: clamp(26px, 7.2vw, 34px);
    line-height: 1.16;
    letter-spacing: -.03em;
    text-wrap: balance;
  }
  .home-page .showcase-intro .showcase-title > span {
    padding-bottom: 5px;
    margin-bottom: 3px;
  }
  .home-page .showcase-intro .showcase-title > span::after {
    height: 9px;
    bottom: -1px;
  }
  .home-page .showcase-intro > p {
    max-width: 360px;
    margin: 19px 0 0;
    color: #aaa8b1;
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 0;
    text-wrap: pretty;
  }
  .home-page .showcase-intro > p br { display: none; }
  .home-page .showcase-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 27px;
  }
  .home-page .showcase-cards > .showcase-card {
    grid-template-rows: 16px 1fr 16px;
    gap: 14px;
    height: 226px;
    min-height: 0;
    padding: 18px 16px;
    border-radius: 17px;
  }
  .home-page .showcase-cards > .showcase-card::before,
  .home-page .showcase-cards > .showcase-card::after {
    top: -17px;
    right: -23px;
    width: 154px;
    height: 154px;
    opacity: .24;
  }
  .home-page .showcase-card .showcase-card-copy {
    min-height: 0;
    align-self: end;
  }
  .home-page .showcase-card .showcase-card-copy h3 {
    font-size: clamp(18px, 4.65vw, 22px);
    line-height: 1.12;
    letter-spacing: -.025em;
    text-wrap: balance;
  }
  .home-page .showcase-card .showcase-card-copy p {
    margin-top: 9px;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: -.01em;
  }
  .home-page .showcase-card .showcase-card-copy br { display: initial; }
  .home-page .showcase-card .showcase-card-label {
    font-size: 11px;
    letter-spacing: 0;
  }
  .home-page .showcase-cards .showcase-card .showcase-card-bottom {
    gap: 5px;
    font-size: 11px;
    opacity: 1;
  }
  .home-page .showcase-cards > .showcase-card-visuals {
    grid-column: 1 / -1;
    height: 204px;
    padding: 20px;
  }
  .home-page .showcase-cards > .showcase-card-visuals::before,
  .home-page .showcase-cards > .showcase-card-visuals::after {
    top: -14px;
    right: -5px;
    width: 214px;
    height: 214px;
    opacity: .58;
  }
  .home-page .showcase-card-visuals .showcase-card-copy { max-width: 245px; }
  .home-page .showcase-card-visuals .showcase-card-copy h3 {
    font-size: clamp(21px, 5.6vw, 27px);
  }
  .home-page .showcase-card-visuals .showcase-card-copy p { max-width: 205px; font-size: 13px; }

  .home-page .home-faq {
    width: calc(100% - 36px);
    gap: 28px;
    padding: 12px 0 46px;
  }
  .home-page .home-faq .intro-topics { margin-bottom: 22px; }
  .home-page .home-faq .intro-topics > span { font-size: 11px; }
  .home-page .home-faq h2 {
    font-size: clamp(28px, 8.1vw, 36px);
    line-height: 1.08;
    letter-spacing: -.035em;
    margin-bottom: 18px;
  }
  .home-page .home-faq-copy > p { font-size: 14px; line-height: 1.6; margin-bottom: 18px; }
  .home-page .home-faq .faq-item summary {
    min-height: 64px;
    padding: 18px 0;
    gap: 16px;
    font-size: 13px;
    line-height: 1.5;
  }
  .home-page .home-faq .faq-item summary::after { flex: 0 0 24px; width: 24px; height: 24px; }
  .home-page .home-faq-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 22px; }
  .home-page .home-faq-actions .btn { min-height: 46px; padding: 11px 10px; font-size: 12px; }
  .home-page .interface-poster { border-radius: 18px; }
  .home-page .interface-poster > img {
    height: clamp(248px, 78vw, 350px);
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center top;
  }
  .home-page .interface-poster-copy { padding: 20px 20px 22px; }
  .home-page .interface-poster-copy h3 { font-size: 26px; line-height: 1.1; }
  .home-page .interface-poster .interface-poster-copy .btn { margin-top: 19px; font-size: 13px; }

  .home-page .scene-section.illustrated-scene {
    width: calc(100% - 24px);
    margin: 0 auto 16px;
    border: 1px solid #ffffff09;
    border-radius: 20px;
  }
  .home-page .illustrated-scene .scene-inner,
  .home-page .illustrated-scene .scene-center {
    width: calc(100% - 36px);
    padding: 24px 0 26px;
    gap: 22px;
  }
  .home-page .illustrated-scene .scene-title {
    margin: 15px 0 17px;
    font-size: clamp(27px, 7.5vw, 33px);
    line-height: 1.09;
    letter-spacing: -.025em;
  }
  .home-page .illustrated-scene .scene-description { font-size: 14px; line-height: 1.65; }
  .home-page .illustrated-scene .scene-feature-list {
    gap: 8px 14px;
    margin-top: 20px;
    color: #d1c8c3;
    font-size: 11px;
  }
  .home-page .illustrated-scene .scene-feature-list li { gap: 6px; }
  .home-page .illustrated-scene .scene-feature-list li + li::before { display: none; }
  .home-page .illustrated-scene .scene-feature-list .icon { width: 14px; height: 14px; }
  .home-page .illustrated-scene .scene-button {
    justify-content: space-between;
    width: 100%;
    min-height: 46px;
    padding: 12px 18px;
    font-size: 13px;
    border-radius: 12px;
    box-shadow: none;
  }
  .home-page .scene-performance.illustrated-scene .scene-button { margin-top: 23px; }

  .home-page .home-details { padding-top: 40px; padding-bottom: 26px; text-align: left; }
  .home-page .home-details .showcase-title { font-size: 31px; line-height: 1.1; }
  .home-page .home-steps { margin-top: 28px; }
  .home-page .home-steps li { grid-template-columns: 32px minmax(0, 1fr); gap: 10px 14px; padding: 21px 0; }
  .home-page .home-step-number { font-size: 23px; }
  .home-page .home-steps h3 { font-size: 18px; }
  .home-page .home-steps p { font-size: 13px; }
  .home-page .home-steps .text-link { min-height: 30px; font-size: 12px; }
  .home-page .home-cta { padding: 38px 0 58px; }
  .home-page .home-cta-mark { width: 52px; height: 52px; margin-bottom: 22px; }
  .home-page .home-cta h2 { font-size: clamp(29px, 8vw, 35px); line-height: 1.12; }
  .home-page .home-cta .btn { min-height: 48px; margin-top: 25px; font-size: 13px; }
}

@media (max-width: 360px) {
  .home-page .showcase-intro { padding-inline: 16px; }
  .home-page .showcase-intro .intro-topics { gap: 5px; }
  .home-page .showcase-intro .intro-topics > span { padding-inline: 6px; font-size: 10px; }
  .home-page .showcase-cards > .showcase-card:not(.showcase-card-visuals) { padding-inline: 13px; height: 234px; }
  .home-page .showcase-card .showcase-card-copy p { font-size: 11.5px; }
  .home-page .showcase-card-visuals .showcase-card-copy p { font-size: 13px; }
  .home-page .showcase-cards > .showcase-card-visuals { height: 208px; }
  .home-page .showcase-card-visuals .showcase-card-copy { max-width: 225px; }
  .home-page .showcase-card-visuals .showcase-card-copy p { max-width: 180px; }
  .home-page .home-faq-actions { grid-template-columns: 1.1fr .9fr; }
}
