/* Mobile landing page: readable previews and concise paths to the detail pages. */
.mobile-detail-entry,.mobile-swipe-hint{display:none}
@media(max-width:760px){
  .mobile-swipe-hint{display:block;margin-top:10px;color:#80dbce;font-size:.75rem}
  body #projects .compact-heading{margin-bottom:18px}
  #projects .guide-current,#projects .guide-lane-title,#projects .guide-relation,#projects .guide-portfolio-heading{display:none}
  #projects .guide-map,#projects .guide-lane,#projects .guide-portfolio,#projects .guide-portfolio-grid{display:contents}
  #projects .site-guide{display:grid;grid-auto-flow:column;grid-auto-columns:92%;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:1px;padding:2px 2px 14px;scrollbar-width:thin;scrollbar-color:#80dbce #142330}
  html body #projects .site-guide .guide-card{display:flex;flex-direction:column;scroll-snap-align:start;min-width:0;box-shadow:none}
  html body #projects .guide-card .guide-shot{flex:none;aspect-ratio:16/9;width:100%;min-height:0;border-right:0;border-bottom:1px solid var(--guide-line)}
  html body #projects .guide-card .guide-shot img{position:absolute;inset:0;object-fit:cover!important;object-position:top!important}
  html body #projects .guide-card .guide-copy{padding:16px}
  html body #projects .guide-card :is(h3,h4){font-size:1.5rem;margin:0 0 8px}
  html body #projects .guide-card .guide-description{font-size:.82rem;line-height:1.8}
  #projects .guide-tags{display:none}
  html body #projects .guide-card .guide-domain{font-size:.65rem;margin-top:12px}
  #projects .guide-projects:before{display:none}
  body #research,body #bansou{padding-block:36px}
  body #research .section-heading,body #bansou .section-heading{margin-bottom:18px}
  body #research-area,body #bansou-area{display:none}
  .mobile-detail-entry{display:block}
  .mobile-detail-entry p{font-size:.95rem;line-height:1.9;color:#c6d4df;margin:0 0 20px;max-width:38em}
  .mobile-detail-entry{--entry-accent:#80dbce;--entry-ink:#092426}
  .mobile-detail-entry--tutoring{--entry-accent:#f4bc66;--entry-ink:#30200e}
  .mobile-detail-entry a{text-decoration:none;color:inherit}
  .mobile-detail-entry a:focus-visible{outline:3px solid var(--entry-accent);outline-offset:4px}
  .mobile-detail-entry .entry-collage{position:relative;display:grid;grid-template-columns:1.65fr 1fr;grid-template-rows:1fr 1fr;gap:6px;height:250px;overflow:hidden;border:1px solid #80dbce55;background:#10242a;border-radius:4px}
  .entry-collage figure{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden}
  .entry-collage .entry-crab{grid-row:1/3}
  body .mobile-detail-entry .entry-collage img{display:block;width:100%;height:100%!important;max-height:none;object-fit:cover!important}
  .entry-collage figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#061119e8);color:#fff;padding:22px 9px 9px;font-size:.56rem;letter-spacing:.04em;line-height:1.5}
  .entry-collage .entry-photo-arrow{position:absolute;top:10px;left:10px;width:32px;height:32px;display:grid;place-items:center;background:#80dbce;color:#092426;border-radius:50%;font-size:1.2rem}
  .entry-credit{display:block;margin:7px 0 16px;color:#9aadb9;font-size:.56rem;line-height:1.6}
  .entry-topics{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
  .entry-topics span{border:1px solid #80dbce44;color:#a9e8dc;padding:6px 10px;font-size:.72rem}
  .mobile-detail-entry .entry-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 18px;background:linear-gradient(115deg,var(--entry-accent),#c1eee1);color:var(--entry-ink);border:1px solid var(--entry-accent);border-radius:4px;box-shadow:0 10px 30px #0003;min-height:108px}
  .mobile-detail-entry--tutoring .entry-cta{background:linear-gradient(115deg,#f4bc66,#f4dfb6)}
  .entry-cta small,.entry-cta strong,.entry-cta em{display:block}
  .entry-cta small{font-size:.6rem;letter-spacing:.12em;margin-bottom:7px}
  .entry-cta strong{font-size:1rem;line-height:1.5;font-weight:750}
  .entry-cta em{font-style:normal;font-size:.68rem;line-height:1.6;margin-top:5px}
  .entry-cta>b{flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border:1px solid currentColor;border-radius:50%;font-size:1.5rem;font-weight:400}
  .entry-teaching-line{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:18px 0;margin-bottom:18px;border-block:1px solid #f4bc6644;color:#f4bc66;font-size:.65rem}
  .entry-teaching-line span{display:grid;gap:7px}
  .entry-teaching-line b{color:#f1e4d0;font-size:.85rem;font-weight:500}
  .entry-teaching-line i{font-style:normal;color:#a98959}
  .entry-video-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center;margin:26px 0 12px}
  .entry-video-heading span{font-size:.56rem;color:#d3ac72;letter-spacing:.08em}
  .entry-video-heading b{font-size:.7rem;color:#d6dedf;font-weight:500}
  .entry-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .entry-video{min-width:0;border-bottom:1px solid #f4bc6655;padding-bottom:12px}
  .entry-video>div{position:relative;aspect-ratio:16/9;overflow:hidden;background:#142330}
  body .mobile-detail-entry .entry-video img{display:block;width:100%;height:100%!important;object-fit:cover!important}
  .entry-video>div>span{position:absolute;inset:0;margin:auto;width:32px;height:32px;display:grid;place-items:center;border:1px solid #ffffffaa;border-radius:50%;background:#06111999;color:#fff;font-size:.7rem}
  .entry-video small{display:block;color:#b3bdc4;font-size:.56rem;margin:9px 0 5px;line-height:1.5}
  .entry-video>b{display:block;color:#f4cf95;font-size:.73rem;font-weight:500;line-height:1.5}
  body #youtube{padding-block:40px}
  body #youtube .channel-head{margin-bottom:18px}
  body #youtube .channel-intro{font-size:.85rem;line-height:1.7}
  body #youtube .channel-link{margin-top:12px;padding:10px 0}
  body #youtube .channel-now{margin:12px 0 18px}
  body #youtube .channel-now h3{font-size:.9rem;line-height:1.6}
  body #youtube .channel-videos{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin}
  body #youtube .channel-video{flex:0 0 72%;scroll-snap-align:start}
  body #youtube .channel-video img{display:none}
  body #youtube .channel-video-copy{padding:12px}
  body #youtube .shorts-wall,body #youtube .ig-wall,body #youtube .note-wall{margin-top:32px}
  body #youtube .social-section-head{margin-bottom:14px;gap:12px}
  body #youtube .social-section-head h3{font-size:1.35rem}
  body #youtube .shorts-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:43%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin}
  body #youtube .short-card{scroll-snap-align:start}
  body #youtube .short-card figure{aspect-ratio:3/4}
  body #youtube .short-card h4{font-size:.78rem;line-height:1.6}
  body #youtube .ig-wall{display:block}
  body #youtube .ig-wall__head,body #youtube .note-wall__head{margin-bottom:16px}
  body #youtube .ig-wall__head h3,body #youtube .note-wall__head h3{font-size:2rem;margin-block:8px}
  body #youtube .ig-wall__head p,body #youtube .note-wall__head p{font-size:.82rem;line-height:1.7}
  body #youtube .ig-wall__grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:58%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin}
  body #youtube .ig-tile{aspect-ratio:4/5;scroll-snap-align:start}
  body #youtube .note-wall .yt-notes__grid{display:flex;flex-direction:column;gap:10px}
  body #youtube .note-wall .yt-note{display:grid;grid-template-columns:28% minmax(0,1fr);padding:0;align-items:stretch}
  body #youtube .note-wall .yt-note figure{margin:0;aspect-ratio:auto;height:100%}
  body #youtube .note-wall .yt-note figure img{height:100%;width:100%;object-fit:cover}
  body #youtube .note-wall .yt-note>div{padding:12px}
  body #youtube .note-wall .yt-note h3{font-size:.82rem;line-height:1.6;margin:0 0 8px}
  body #youtube .note-wall .yt-note p{display:none}
  body #youtube .note-wall .yt-note__go{font-size:.72rem}
  body #youtube .pod-card{margin-top:28px;gap:16px;grid-template-columns:72px minmax(0,1fr);padding:18px}
  body #youtube .pod-card__art{width:72px}
  body #youtube .pod-card__body h3{font-size:1.1rem}
  body #youtube .pod-card__lead{font-size:.78rem;line-height:1.7}
  body #youtube .pod-card__eps{display:none}
  body #youtube .sns-outlets{margin-top:24px}
}
