@charset "UTF-8";
/* リアルケイドロ 3.0 — mobile QA / typography / whitespace fixes */

.rk2-site h1,.rk2-site h2,.rk2-site h3,
.about-page h1,.about-page h2,.profile-page h1,.profile-page h2,
.rk2-launch-page h1,.rk2-launch-page h2,.rk2-voices-pro h1,.rk2-voices-pro h2{
  word-break:normal;
  overflow-wrap:break-word;
  line-break:strict;
  text-wrap:balance;
}

@media (max-width:760px){
  .rk2-line-float{
    right:10px;
    bottom:calc(76px + env(safe-area-inset-bottom,0px));
    min-width:112px;
    max-width:128px;
    padding:9px 10px;
    box-shadow:0 8px 25px rgba(0,0,0,.2);
  }
  .rk2-line-float span{font-size:.62rem}
  .rk2-line-float small{font-size:.42rem;line-height:1.35}

  .rk2-section{padding:68px var(--edge)}
  .rk2-section__index{top:16px}
  .rk2-launch-hero,.rk2-page-hero{padding-top:125px;padding-bottom:64px}
  .rk2-launch-hero h1,.rk2-page-hero h1{
    font-size:clamp(2.8rem,12.6vw,4.35rem);
    line-height:1.02;
  }
  .rk2-launch-split h2, .rk2-section-heading>h2,.rk2-section-heading>div>h2{
    font-size:clamp(2.3rem,10vw,3.7rem);
    line-height:1.08;
  }
  .rk2-launch-missions article{min-height:0;padding:28px 23px}
  .rk2-launch-missions h2{margin-top:42px;font-size:2rem}
  .rk2-launch-missions p{font-size:.78rem}

  .about-page-hero{min-height:88svh;padding-top:96px}
  .about-page-hero__content{bottom:145px}
  .about-page-hero h1{font-size:clamp(2.9rem,13vw,4.35rem);line-height:1.0}
  .about-page-hero h1>span{display:block;white-space:nowrap}
  .about-page-hero h1 small{font-size:.31em}
  .about-jump{top:72px;scrollbar-width:none}
  .about-jump::-webkit-scrollbar{display:none}
  .about-jump a{min-height:48px;padding-inline:14px}
  .about-shell{padding-block:70px}
  .about-section-head{margin-bottom:42px}
  .about-section-head h2{font-size:clamp(2.35rem,10.5vw,3.6rem);line-height:1.08}
  .about-manifesto__statement{font-size:9.6vw;line-height:1.12}
  .about-three-real{margin-top:62px}
  .about-real,.about-real:nth-child(2),.about-real:nth-child(3){margin-bottom:48px}
  .about-real h3{font-size:1.9rem}
  .about-safety__lead strong{font-size:12vw;line-height:.95}
  .about-access-message{gap:28px;margin-bottom:42px}
  .about-access-message strong{font-size:9.6vw;line-height:1.09}
  .about-access-message p{padding-top:20px;line-height:1.9}
  .about-social-card{min-height:300px}
  .about-next h2{font-size:10vw}

  .profile-hero{padding-top:100px;padding-bottom:50px}
  .profile-hero__image{height:42vh}
  .profile-hero__copy h1{font-size:14vw}
  .profile-story__grid,.profile-message__grid{gap:28px}
  .profile-story__statement{font-size:8.6vw;line-height:1.12}
  .profile-message .giant-copy{font-size:9vw;line-height:1.12}
  .career-timeline article{min-height:0;padding:28px 24px}
  .career-timeline h3{margin-top:38px}
  .profile-related-links{grid-template-columns:1fr;margin-top:52px}
  .profile-related-intro{display:block;margin-bottom:42px}
  .profile-related-intro>span{display:none}

  .book-archive-hero{
    display:block;
    min-height:0;
    padding:100px var(--edge) 52px;
  }
  .book-archive-hero__inner{display:block;padding-top:145px}
  .book-archive-hero__index{top:90px}
  .book-archive-hero h1{font-size:clamp(2.8rem,12.5vw,4.3rem)}
  .book-archive-hero__eyebrow{margin-top:0}

  .media-hero{
    min-height:68svh;
    padding:100px var(--edge) 38px;
  }
  .media-hero__index{top:90px}
  .media-hero__copy{
    position:relative;
    right:auto;bottom:auto;left:auto;
    padding-top:180px;
  }
  .media-hero h1{font-size:clamp(2.7rem,11.8vw,4.15rem);line-height:1.02}
  .media-hero__copy>p:last-child{margin-top:22px;font-size:.68rem}
  .media-hero__type{bottom:6%;font-size:32vw}

  .supervision-hero{
    min-height:68svh!important;
    padding:100px var(--edge) 38px!important;
  }
  .supervision-hero__index{top:90px!important}
  .supervision-hero__copy{
    position:relative!important;
    right:auto!important;bottom:auto!important;left:auto!important;
    padding-top:180px!important;
  }
  .supervision-hero h1{font-size:clamp(2.7rem,11.8vw,4.15rem)!important}
  .supervision-hero__copy>p:last-child{margin-top:22px!important}
  .supervision-hero__type{bottom:6%!important}

  .rk2-voices-pro__hero{padding-top:122px;padding-bottom:68px}
  .rk2-voices-pro__hero h1{font-size:clamp(2.75rem,12vw,4.2rem);line-height:1.02}
  .rk2-voices-pro__hero-nav{grid-template-columns:1fr}
  .rk2-voices-pro__manifesto,.rk2-voices-pro__group,.rk2-voices-pro__cta{padding:68px var(--edge)}
  .rk2-voices-pro__group-head h2{font-size:clamp(2.4rem,10.5vw,3.8rem)}
  .rk2-voices-pro__quote-grid{gap:18px}
  .rk2-voices-pro__quote-card blockquote{font-size:1.1rem;line-height:1.75}

  .empty-state--helpful{padding:70px var(--edge);text-align:left}
  .empty-state--helpful h2{font-size:clamp(2rem,9vw,3rem);line-height:1.15}
  .empty-state--helpful>p:not(:first-child){margin-top:18px;font-size:.82rem;line-height:1.8}
  .empty-state__links{display:grid;gap:16px;margin-top:36px}

  .rkhp-section{padding:62px 0!important}
  .rkhp-shell{width:calc(100% - 30px)!important}
  .rkhp-index{margin-bottom:28px!important}
  .rkhp-title{font-size:clamp(2.15rem,9.8vw,3.25rem)!important;line-height:1.09!important;word-break:keep-all!important}
  .rkhp-hero{min-height:620px!important;padding-top:90px!important}
  .rkhp-hero h1{font-size:clamp(2.8rem,12.5vw,4.2rem)!important}
  .rkhp-head{margin-bottom:42px!important}
  /* HOW TO PLAY / HQ: mobile must be a true single column. */
  .rkhp-hq .rkhp-head{grid-template-columns:minmax(0,1fr)!important;gap:22px!important;align-items:start!important}
  .rkhp-hq .rkhp-head>div,.rkhp-hq .rkhp-head>p{min-width:0!important;width:100%!important}
  .rkhp-hq .rkhp-title{font-size:clamp(28px,8.5vw,36px)!important;line-height:1.08!important;letter-spacing:-.045em!important;white-space:nowrap!important;max-width:100%!important}
  .rkhp-hq .rkhp-title span{white-space:inherit!important}
  .rkhp-hq .rkhp-head>p{font-size:.95rem!important;line-height:1.85!important;margin:0!important}
  .rkhp-facts article,.rkhp-rolegrid article,.rkhp-intelgrid article,.rkhp-usegrid article{min-height:0!important}
  .rkhp-facts article{padding:25px!important}
  .rkhp-rolegrid article{padding:28px 24px!important}
  .rkhp-photo--profile{min-height:410px!important}
  .rkhp-hq__copy{padding:24px!important}
  .rkhp-final{padding:72px 0!important}
  .rkhp-final h2{font-size:clamp(2.7rem,11vw,4rem)!important}
}

@media (max-width:390px){
  .about-page-hero h1{font-size:12.4vw}
  .about-section-head h2{font-size:10vw}
  .about-access-message strong{font-size:9vw}
  .rk2-launch-hero h1,.rk2-page-hero h1{font-size:12vw}
  .rk2-line-float{max-width:116px}
}

/* v3.1.0 — final mobile density pass */
@media(max-width:760px){
  /* Keep LINE access without covering paragraphs/buttons. */
  .rk2-line-float{width:64px;height:64px;min-width:0;max-width:none;right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));display:grid;place-items:center;padding:8px;border-radius:50%;text-align:center}
  .rk2-line-float span{font-size:.52rem;line-height:1.1}
  .rk2-line-float small{display:none}

  /* Large editorial hero sections must not spend an entire viewport on decoration. */
  .media-hero,.supervision-hero{min-height:54svh!important;padding-top:88px!important;padding-bottom:28px!important}
  .media-hero__copy,.supervision-hero__copy{padding-top:105px!important}
  .media-hero h1,.supervision-hero h1{font-size:clamp(2.45rem,10.8vw,3.75rem)!important;line-height:1.03!important}
  .media-hero__type,.supervision-hero__type{opacity:.18}

  /* About: prioritise readable content density over poster-sized type. */
  .about-page-hero{min-height:72svh;padding-top:90px}
  .about-page-hero__content{bottom:88px}
  .about-page-hero h1{font-size:clamp(2.55rem,11.2vw,3.85rem)}
  .about-safety__lead strong{font-size:10.2vw;line-height:1.02}
  .about-access-message strong{font-size:8.5vw;line-height:1.12}
  .about-shell{padding-block:58px}

  /* Profile sections: remove poster-like empty vertical regions. */
  .profile-hero{min-height:0;padding-top:90px}
  .profile-hero__image{height:auto;aspect-ratio:4/5;max-height:520px}
  .profile-story,.profile-message,.profile-related{padding-block:65px!important}

  /* Generic section titles: avoid single-character orphan lines. */
  .section-heading h2,.rk2-voices-pro__hero h1,.rk2-launch-hero h1,.rk2-page-hero h1{
    word-break:auto-phrase;
    overflow-wrap:normal;
    line-break:strict;
    text-wrap:balance;
  }
}
