/* 2026-08-12: mobile information-density pass shared by JP / EN. */
.site-atmosphere-film {
  position: fixed;
  z-index: -3;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .18;
  filter: saturate(.68) contrast(1.12) brightness(.62);
  pointer-events: none;
}

.profile-socials { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; width:100%; }
.profile-socials a { display:flex; align-items:center; gap:10px; min-width:0; padding:12px; border:1px solid rgba(255,255,255,.16); background:rgba(5,10,17,.42); }
.profile-social-icon,.profile-social-icon .bic,.profile-social-icon svg { display:block; width:38px; height:38px; flex:0 0 38px; }
.profile-socials a > span:last-child { display:flex; flex-direction:column; min-width:0; }
.profile-socials b { font-size:.8rem; }
.profile-socials small { margin-top:3px; overflow:hidden; color:var(--muted); font-size:.58rem; text-overflow:ellipsis; white-space:nowrap; }

@media (min-width:821px) {
  section.block > .secskew { background:linear-gradient(180deg,rgba(7,13,22,.87),rgba(5,10,17,.84)); }
}

@media (max-width:720px) {
  html,body { overflow-x:clip !important; }
  .site-atmosphere-film { opacity:.23; }
  header#hdr {
    display:grid;
    grid-template-columns:1fr auto;
    gap:6px 8px;
    min-height:0;
    padding:7px 9px 8px;
    background:rgba(5,10,17,.91);
    backdrop-filter:blur(12px);
  }
  #hdr .brand { grid-column:1; font-size:.98rem; line-height:1; }
  #hdr .brand small { display:block; margin-top:3px; font-size:.44rem; letter-spacing:.22em; }
  #hdr .langswitch { grid-column:2; grid-row:1; position:static; align-self:start; }
  #hdr nav.menu {
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:3px;
    width:100%;
    overflow:visible;
    padding:0;
  }
  #hdr nav.menu a { min-width:0; padding:5px 2px; overflow:hidden; font-size:.55rem; text-align:center; text-overflow:ellipsis; white-space:nowrap; clip-path:none; }

  .heroscroll { height:155vh !important; }
  .hero { min-height:520px; clip-path:none; }
  #house { inset:-3% -20% 0; width:140%; max-width:none; }
  .herotext { top:21% !important; padding-inline:12px; }
  .herotext .avatar { width:92px !important; height:92px !important; margin-bottom:12px !important; object-position:center 28%; }
  .herotext .k { max-width:320px; margin-bottom:10px !important; font-size:.62rem !important; line-height:1.45; letter-spacing:.18em !important; }
  .herotext h1 { font-size:clamp(2.2rem,11.2vw,3.1rem) !important; }
  .herotext h1 span { margin-top:10px !important; font-size:.7rem !important; letter-spacing:.19em !important; }
  .herotext p { margin-top:12px !important; font-size:.86rem !important; }
  .hero-focus { gap:7px !important; margin-top:15px !important; font-size:.57rem !important; letter-spacing:.12em !important; }
  .hero-focus i { width:11px !important; }

  section.block { padding:66px 0; }
  section.block > .secskew { background:linear-gradient(180deg,rgba(7,13,22,.82),rgba(5,10,17,.76)); border:0; }
  .wrap { padding-inline:14px; }
  .trustlead { display:none; }
  #news .sectitle { margin-bottom:8px; }
  .nmarq { width:calc(100% + 28px); margin-left:-14px; overflow-x:auto; padding:12px 14px 20px; scrollbar-width:none; touch-action:pan-x; }
  .nmarq::-webkit-scrollbar { display:none; }
  .nmarq .ntrack { display:flex !important; gap:10px; width:max-content; }
  .nmarq .nmcard { flex:0 0 min(77vw,310px); min-height:0; }
  .nmcard .nmvisual { aspect-ratio:16 / 9; }
  .nmcard .nmt { padding:13px 14px 15px !important; }
  .nmcard .nmd { font-size:.56rem; }
  .nmcard .nmtl { margin-top:5px; font-size:1rem; line-height:1.35; }
  .nmcard .nmdesc,.nmcard .nmcredit { display:none; }
  .nbwrap { margin-top:6px; }
  .newsbox { display:flex; gap:8px; width:calc(100% + 28px); margin-left:-14px; padding:0 14px 7px; overflow-x:auto; border:0; background:transparent; scroll-snap-type:x proximity; scrollbar-width:none; }
  .newsbox::-webkit-scrollbar { display:none; }
  .newsbox .nrow { flex:0 0 min(76vw,300px); min-height:112px; border:1px solid var(--line); background:rgba(7,13,22,.72); scroll-snap-align:start; }
  .newsbox .nhead { grid-template-columns:40px 1fr; gap:5px 8px; padding:10px; }
  .newsbox .nthumb { grid-row:1 / 4; width:40px; height:40px; }
  .newsbox .d,.newsbox .o { font-size:.57rem; }
  .newsbox .t { font-size:.72rem; line-height:1.4; }
  .nbmore { width:auto; margin:12px auto 0; padding:7px 12px; font-size:.66rem; }

  #aicone.block { padding-top:72px; padding-bottom:64px; }
  .aicone-head { gap:26px; }
  #aicone .sectitle { font-size:clamp(2.65rem,13.7vw,3.8rem) !important; line-height:.94; letter-spacing:-.045em; word-spacing:.1em; }
  .aicone-overline { font-size:.66rem; letter-spacing:.21em; }
  #aicone .lead { font-size:.84rem; line-height:1.72; }
  .aicone-ja { margin-top:17px !important; font-size:1.24rem; }
  .aifull { margin-inline:-14px; width:calc(100% + 28px); }
  .aifull::before { right:14px; }
  .aicard .face.front { clip-path:none; }
  .aislot { height:auto !important; aspect-ratio:16 / 10; background:#05070c; }
  .aislot video { object-fit:contain !important; object-position:top center; }
  .aipreview-hint { right:10px !important; bottom:8px !important; padding:7px; font-size:.55rem !important; }

  #journal.block { min-height:76svh; padding:74px 0; }
  .journal-wrap { gap:24px; padding-inline:14px; }
  .journal-title { margin-top:16px; font-size:clamp(2.6rem,12vw,3.7rem); line-height:1.05; }
  .journal-lead { font-size:.84rem; line-height:1.7; }
  .journal-link { margin-top:20px; padding:15px 0; font-size:1.18rem; }

  #research.block,#bansou.block,#profile.block,#works.block { padding:68px 0; }
  #research .sectitle,#bansou .sectitle,#profile .sectitle,#works .sectitle { margin-bottom:22px; font-size:clamp(2.15rem,10vw,3rem) !important; }
  .research-question { margin-bottom:20px; font-size:clamp(2rem,10vw,2.8rem); }
  .research-copy .lead,.research-long,#bansou-area .lead { font-size:.82rem !important; line-height:1.72 !important; }
  .research-collage { min-height:310px !important; }
  .research-findings { grid-template-columns:repeat(3,80vw) !important; gap:1px; margin-top:28px !important; overflow-x:auto; scroll-snap-type:x mandatory; }
  .research-findings article { min-width:0; padding:18px; scroll-snap-align:start; }
  .research-findings h3 { font-size:1.35rem; }
  .research-findings p { font-size:.74rem; }
  #bansou-area .edcols { gap:22px; }
  #bansou-area .chip { font-size:.62rem; }
  #bansou-area .secfig { min-height:220px; }
  .more { margin-top:16px; padding:9px 14px; font-size:.74rem; }

  .profile-opening { gap:8px; margin-bottom:8px; }
  .profile-opening .lead { font-size:.83rem !important; line-height:1.7 !important; }
  .life-scroll { width:calc(100% + 28px); margin-left:-14px; overflow-x:auto !important; padding:16px 14px 22px !important; scroll-snap-type:x mandatory; }
  .life-track { display:flex !important; gap:10px; min-width:max-content !important; min-height:0 !important; padding:0 !important; }
  .life-track::before,.life-track::after,.life-dot { display:none !important; }
  .life-event,.life-event:nth-child(odd),.life-event:nth-child(even) { flex:0 0 min(79vw,315px); min-height:310px; margin:0 !important; padding:18px; transform:none !important; border:1px solid rgba(255,255,255,.15); background:rgba(7,12,21,.76); scroll-snap-align:start; }
  .life-year { font-size:2rem !important; }
  .life-body p { font-size:.74rem; line-height:1.65; }
  .life-body img { height:116px !important; }
  .profile-foot { padding-top:16px; border:0; }
  .profile-socials { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
  .profile-socials a { display:grid; place-items:center; gap:7px; padding:9px 3px; text-align:center; }
  .profile-social-icon,.profile-social-icon .bic,.profile-social-icon svg { width:36px; height:36px; }
  .profile-socials a > span:last-child { align-items:center; width:100%; }
  .profile-socials b { font-size:.6rem; }
  .profile-socials small { display:none; }

  #works-area { display:grid; grid-template-columns:1fr 1fr; gap:8px; border:0; }
  .award-row { display:flex !important; flex-direction:column; align-items:stretch; gap:8px !important; min-height:215px !important; padding:10px !important; border:1px solid rgba(255,255,255,.16) !important; background:rgba(6,12,20,.72); }
  .award-no { font-size:.72rem !important; }
  .award-copy { display:block !important; }
  .award-copy b { display:block; font-size:1rem !important; line-height:1.35; }
  .award-copy span { display:block; margin-top:5px; font-size:.64rem !important; line-height:1.45; }
  .award-row figure { order:-1; display:block !important; width:100% !important; height:auto !important; aspect-ratio:16 / 9; clip-path:none !important; }
  .award-row figure img { filter:none !important; }
  .award-arrow { display:none; }
}

@media (prefers-reduced-motion:reduce) { .site-atmosphere-film { display:none; } }
