/* Real examples, kept visually separate from the four-P explanation. */
.explore{max-width:1080px;margin:100px auto 0;padding-top:48px;border-top:1px solid #eadfd8}
.explore>h3{font-size:23px;letter-spacing:.06em;margin:0 0 30px}
.explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.explore-link{display:block;min-width:0}
.explore-visual{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:10px;background:#fff2e9}
.explore-visual img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.explore-link:hover .explore-visual>img{transform:scale(1.035)}
.explore-playbook{display:grid;place-items:center;padding:27px 0;background:linear-gradient(135deg,#fff0e6,#fffbf6)}
.explore-playbook img{height:auto;aspect-ratio:16/9;object-fit:contain}
.explore-caption{position:absolute;bottom:13px;left:16px;font:700 11px/1.4 Roboto,sans-serif;letter-spacing:.06em;color:#6e4b38}
.explore-partner{background:#101828}
.explore-partner img{object-fit:contain;object-position:center}
.explore-people{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:#fff}
.explore-people img{object-position:center}
.explore-kicker{display:block;color:var(--orange);font:900 15px/1.4 Roboto,sans-serif;letter-spacing:.03em;margin-top:23px}
.explore-link h4{margin-top:8px;font-size:23px;font-weight:900;line-height:1.7;letter-spacing:.03em}
.explore-link p{font-size:13px;font-weight:500;letter-spacing:.03em;line-height:1.9;margin-top:10px}
.explore-action{display:flex;justify-content:space-between;align-items:center;padding:16px 0 12px;margin-top:8px;font-size:13px;letter-spacing:.03em}
.detail-main{max-width:1160px;margin:auto;padding:48px 40px 110px}
.detail-back{display:inline-flex;gap:12px;align-items:center;font-size:13px;font-weight:500;letter-spacing:.04em}
.detail-back:hover{color:var(--orange)}
.detail-hero{margin:60px 0 55px;max-width:900px}
.detail-kicker{color:var(--orange);font:900 20px/1.5 Roboto,sans-serif;letter-spacing:.02em;margin-bottom:16px}
.detail-hero h1{font-size:clamp(30px,4vw,48px);font-weight:900;letter-spacing:.04em;line-height:1.5;text-wrap:balance}
.detail-lead{font-size:16px;line-height:2;letter-spacing:.04em;font-weight:500;margin-top:22px;max-width:760px}
.detail-hero.playbook-hero { margin-top: 0; }
.playbook-hero .detail-lead { max-width: 100%; font-weight: 700; }
.playbook-hero h1 span, .video-library-title > span > span { display: inline-block; }
.video-library-title { align-items: baseline; margin-bottom: clamp(22px, 3vw, 34px); font-size: clamp(22px, 3vw, 36px); letter-spacing: .035em; }
.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px}
.video-open{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:0;border-radius:10px;background:#fff;text-align:left}
.video-open img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .3s}
.video-open:hover img{transform:scale(1.03)}
.play-symbol{position:absolute;right:17px;bottom:16px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--orange);box-shadow:0 2px 15px #0002;font-size:17px;letter-spacing:0;padding-left:3px}
.video-item h3{font-size:21px;font-weight:900;letter-spacing:.025em;line-height:1.6;margin-top:16px}
.video-item p{font-size:14px;font-weight:500;line-height:1.9;letter-spacing:.025em;margin-top:8px}
.detail-return{border-top:1px solid #eadfd8;margin-top:72px;padding-top:30px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:15px}
.detail-return a{color:var(--orange);white-space:nowrap}
.video-modal{width:min(1100px,94vw);max-height:92svh;border:0;border-radius:12px;padding:24px;background:#fff;color:var(--ink)}
.video-modal::backdrop{background:#111c}
.video-modal-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}
.video-modal h2{font-size:18px;line-height:1.5;letter-spacing:.025em}
.video-modal-close{border:1px solid #ddd;background:white;border-radius:50%;width:40px;height:40px;flex:none;font-size:25px;line-height:1;padding:0}
.video-frame{aspect-ratio:16/9;background:#111}
.video-frame iframe{display:block;border:0;width:100%;height:100%}
.partner-main .detail-hero{max-width:900px}
.partner-screen{margin:0;background:#f8f3ee;padding:28px;border-radius:14px}
.partner-screen img{width:100%;height:auto;border-radius:8px}
.partner-screen figcaption{font-size:12px;font-weight:500;letter-spacing:.03em;color:#77716a;margin-top:16px;line-height:1.8}
.partner-story{max-width:840px;margin:64px auto 0}
.partner-story>h2{font-size:30px;line-height:1.7;letter-spacing:.035em;margin-bottom:30px}
.partner-point{padding:28px 0;border-top:1px solid #eadfd8;display:grid;grid-template-columns:240px 1fr;gap:35px}
.partner-point h3{font-size:20px;line-height:1.7;letter-spacing:.03em;color:var(--orange)}
.partner-point p{font-size:15px;font-weight:500;line-height:2;letter-spacing:.03em}
.partner-rhythm{margin-top:40px;padding:32px 36px;background:linear-gradient(110deg,#fff0e8,#fff8ed);border-radius:10px}
.partner-rhythm h3{font-size:22px;line-height:1.7;letter-spacing:.03em}
.partner-rhythm p{font-size:15px;font-weight:500;line-height:2;letter-spacing:.03em;margin-top:12px}
.detail-hero.peers-hero { margin-block: 0 clamp(28px, 3vw, 40px); }
.peers-hero .detail-lead { margin-top: 14px; }
@media (max-width: 760px) {
  .peers-hero .detail-lead br { display: none; }
}
.stories-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.story-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.story-person{margin-top:24px;font-size:13px;font-weight:500;letter-spacing:.02em;line-height:1.8}
.story-person strong{display:block;font-size:20px;font-weight:900;margin-top:6px}
.story-item h2{font-size:20px;font-weight:900;line-height:1.8;letter-spacing:.025em;margin-top:20px}
.story-item>p{font-size:14px;font-weight:500;line-height:2;letter-spacing:.02em;margin-top:16px}
.story-item .explore-action{color:var(--orange);margin-top:20px}
.detail-footnote{font-size:12px;font-weight:500;color:#77716a;line-height:1.9;letter-spacing:.02em;margin-top:35px}
@media(max-width:900px){
 .explore-grid{gap:24px}.explore-link h4{font-size:20px}.explore-link p{font-size:12px}.explore-action{font-size:12px}
 .stories-grid{grid-template-columns:1fr;max-width:640px;margin:auto;gap:50px}.story-item{padding-bottom:10px}.story-photo{max-height:410px}
}
@media(max-width:760px){
 .explore{margin-top:60px;padding-top:30px}.explore>h3{font-size:21px;margin-bottom:26px}
 .explore-grid{grid-template-columns:1fr;max-width:520px;margin:auto;gap:44px}
 .explore-visual{aspect-ratio:16/10}.explore-kicker{margin-top:18px}.explore-link h4{font-size:23px}.explore-link h4 br{display:none}.explore-link p{font-size:14px}.explore-action{font-size:14px}
 .detail-main{padding:28px 24px 70px}.detail-hero{margin:38px 0}.detail-kicker{font-size:18px}.detail-hero h1{font-size:32px}.detail-hero .detail-title-peers{font-size:clamp(23px,7.4vw,32px)}.detail-lead{font-size:14px;line-height:2}
 .playbook-hero h1 { font-size: clamp(26px, 8vw, 32px); }
 .video-grid{grid-template-columns:1fr;gap:38px}.video-item h3{font-size:21px}
 .detail-return{display:block;margin-top:50px;padding-top:24px;font-size:14px}.detail-return a{display:inline-block;margin-top:12px;white-space:normal}
 .video-modal{padding:16px;width:95vw}.video-modal h2{font-size:15px}.video-modal-close{width:34px;height:34px}
 .partner-screen{padding:10px;border-radius:10px}.partner-screen figcaption{font-size:10px;margin:10px 5px 2px}.partner-story{margin-top:42px}.partner-story>h2{font-size:25px}
 .partner-point{display:block;padding:24px 0}.partner-point h3{font-size:20px;margin-bottom:12px}.partner-point p{font-size:14px}
 .partner-rhythm{padding:24px;margin-top:20px}.partner-rhythm h3{font-size:21px}.partner-rhythm p{font-size:14px}
 .story-item h2{font-size:21px}.story-person{margin-top:18px}
}

/* Shared reading/viewing links: Emo’s open triangle marks the next page. */
.detail-link { text-decoration: none; min-height: 44px; }
.detail-link .link-launch { display: inline-grid; place-items: center; width: 24px; height: 28px; flex: 0 0 24px; line-height: 1; transition: opacity .18s ease; }
.link-launch::before { content: ""; display: block; width: 20px; height: 20px; background: var(--vertical); -webkit-mask: url("/emo/assets/emo-link-mark.svg") center/contain no-repeat; mask: url("/emo/assets/emo-link-mark.svg") center/contain no-repeat; }
.detail-link:hover .link-launch, .detail-link:focus-visible .link-launch { opacity: .7; }
.detail-link:focus-visible { outline: 2px solid var(--orange); outline-offset: 5px; }
.company-link, .detail-return a.detail-link, .explore-action.detail-link { display: inline-flex; align-items: center; justify-content: flex-start; gap: 12px; text-decoration: none; }
.explore-action.detail-link { border-bottom: 0; }
@media (prefers-reduced-motion: reduce) { .detail-link .link-launch { transition: none; } }

/* A quiet reading page for the management perspective behind AI work. */
.article-main { max-width: 880px; }
.article-main .detail-hero { margin-bottom: 36px; }
.article-main .detail-kicker { font: 700 14px/1.8 "Noto Sans JP", sans-serif; letter-spacing: .08em; margin-bottom: 22px; }
.article-main .detail-hero h1 { font-size: clamp(30px, 4vw, 46px); line-height: 1.6; letter-spacing: .025em; }
.article-main .detail-hero h1 span { display: block; }
.article-main .detail-hero h1 span:last-child { color: var(--orange); }
.article-reading { font-size: 16px; font-weight: 500; line-height: 2.15; letter-spacing: .025em; }
.article-introduction { font-size: 18px; }
.article-reading section { margin-top: 48px; }
.article-reading h2 { margin-bottom: 18px; font-size: 24px; font-weight: 700; line-height: 1.65; letter-spacing: .025em; }
.article-reading p + p { margin-top: 18px; }
.article-conclusion { margin-top: 48px; padding-top: 28px; border-top: 1px solid #eadfd8; font-weight: 700; }
.article-main .detail-return { margin-top: 48px; }
@media (max-width: 760px) {
 .article-main .detail-hero { margin-block: 40px 26px; }
 .article-main .detail-hero h1 { font-size: clamp(25px, 6.7vw, 34px); letter-spacing: 0; }
 .article-reading, .article-introduction { font-size: 15px; line-height: 2; }
 .article-reading section { margin-top: 36px; }
 .article-reading h2 { font-size: 21px; }
 .article-conclusion { margin-top: 36px; }
}
