@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--red:#b53129;--ink:#181818;--paper:#f7f7f4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Noto Sans JP',sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b976ff;outline-offset:5px}header{height:86px;background:var(--paper);padding:0 4%;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;border-bottom:1px solid #ddd}.logo{font-family:'Barlow Condensed',sans-serif;font-size:27px;font-weight:800;letter-spacing:-.4px}nav{display:flex;gap:30px;align-items:center;font-size:14px;font-weight:700}.nav-cta{background:var(--ink);color:white;padding:16px 22px}.menu{display:none}.hero{background:var(--red);color:white;padding:25px 4% 0}.hero-top,.hero-bottom{display:flex;justify-content:space-between;font-size:12px;font-weight:600;letter-spacing:1.5px}.hero-top{border-bottom:1px solid #ffffff50;padding-bottom:20px}.hero-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:5%;align-items:center;padding:55px 0 65px}.eyebrow{font-size:14px;font-weight:700;letter-spacing:2px}.hero h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(64px,7.9vw,132px);line-height:.88;letter-spacing:-2px;margin:27px 0}.year{display:block;font-size:.8em;color:transparent;-webkit-text-stroke:1px white;letter-spacing:0;margin-top:12px}.hero-jp{font-size:24px;font-weight:700;line-height:1.7}.button{background:var(--ink);color:white;display:flex;justify-content:space-between;gap:40px;align-items:center;padding:22px 28px;font-weight:700;width:fit-content;min-width:280px;transition:background .2s,transform .2s}.button:hover{background:#363636;transform:translateY(-3px)}.button span{font-size:25px}.visual img{width:100%;height:auto;display:block;border:1px solid #ffffff80;box-shadow:18px 18px 0 #822820}.visual-caption{display:flex;justify-content:space-between;font-family:'Barlow Condensed',sans-serif;font-size:14px;letter-spacing:1px;margin-top:36px}.hero-bottom{padding:22px 0;border-top:1px solid #ffffff50}.section{padding:80px 7%;scroll-margin-top:0}.section-label{display:flex;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid #bdbdbd;font-size:14px;font-weight:700;letter-spacing:1px;margin-bottom:58px}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}h2{font-size:clamp(32px,4vw,60px);line-height:1.55;letter-spacing:-1.5px;margin:0;font-weight:800}em{color:var(--red);font-style:normal}.prose h3{font-size:25px;line-height:1.8;margin:10px 0 25px}.prose p{line-height:2.15;color:#444}.topics{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.topics span{border:1px solid #bbb;padding:9px 15px;font-size:14px}.program{background:#191919;color:white}.program .section-label{border-color:#555}.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:50px}.section-title p{font-size:15px;line-height:2;color:#bdbdbd}.keynote{display:grid;grid-template-columns:.85fr 1.15fr;background:#ecece9;color:var(--ink);margin-bottom:36px}.keynote-photo{position:relative;background:#c7c7c4;overflow:hidden;min-height:440px}.keynote-photo img{width:100%;height:100%;object-fit:cover;display:block}.keynote-photo>span{position:absolute;bottom:0;left:0;background:var(--red);color:white;padding:13px 20px;font-family:'Barlow Condensed';font-size:23px}.keynote-copy{padding:45px}.keynote-copy .eyebrow{color:var(--red)}.keynote h3{font-size:38px;line-height:1.65;margin:20px 0}.keynote-copy>p:not(.eyebrow){line-height:1.9}.speaker{font-size:24px;font-weight:700;border-top:1px solid #bbb;padding-top:20px}.speaker small{display:block;font-size:14px;font-weight:400}.session-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.session{border:1px solid #535353;padding:28px;display:flex;flex-direction:column;scroll-margin-top:105px}.session-num{font-family:'Barlow Condensed';letter-spacing:2px;color:#ed8c7e;font-size:18px}.session h3{font-size:22px;line-height:1.65;margin:16px 0}.session p{font-size:14px;line-height:1.9;color:#c4c4c4}.session details{border-top:1px solid #555;margin-top:auto;padding-top:17px}.session summary{cursor:pointer;font-size:14px;font-weight:500}.timetable h2{margin-bottom:40px}.index-row{display:grid;grid-template-columns:60px 1fr 25px;gap:20px;padding:24px 0;border-bottom:1px solid #ccc;align-items:center}.index-row:hover{color:var(--red)}.index-row span:first-child{font-family:'Barlow Condensed';font-size:25px;color:var(--red)}.outline{background:#eee}.outline-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.outline h2{font-family:'Barlow Condensed';line-height:1.05;font-size:65px}dl{margin:0}dl>div{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid #ccc}dt{font-size:14px;font-weight:700}dd{margin:0;line-height:1.9}dd small{display:block;font-size:13px;color:#666;margin-top:9px}.entry{padding:85px 7%;background:var(--red);color:white;text-align:center}.entry h2{font-size:clamp(32px,4vw,52px);margin:25px 0}.entry>p:not(.eyebrow){font-size:15px;line-height:1.9}.entry .button{margin:30px auto 18px;min-width:360px}.entry small{font-size:12px}footer{padding:36px 4%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer>span,footer>a:last-child{font-size:12px;letter-spacing:1px}@media(min-width:1600px){.hero-layout,.hero-top,.hero-bottom{max-width:1440px;margin:auto}}@media(max-width:800px){header{height:70px}.logo{font-size:23px}.menu{display:block;background:none;border:0;font-size:25px;padding:10px}nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column;align-items:stretch;gap:22px}nav.open{display:flex}.hero{padding:20px 6% 0}.hero-top{font-size:10px;letter-spacing:.5px}.hero-top span:last-child{font-size:11px}.hero-layout{grid-template-columns:1fr;padding:30px 0 40px;gap:35px}.hero h1{font-size:clamp(72px,15vw,120px)}.hero-copy{position:relative}.year{font-size:.75em}.hero-jp{font-size:20px}.visual{max-width:600px}.visual img{box-shadow:9px 9px 0 #822820}.hero-bottom{font-size:10px;letter-spacing:0}.hero-bottom>span{max-width:50%}.section{padding:55px 6%}.section-label{margin-bottom:35px;font-size:12px}.concept-grid,.outline-grid{grid-template-columns:1fr;gap:30px}.concept h2{font-size:42px}.section-title{display:block}.section-title h2{font-size:34px}.keynote{grid-template-columns:1fr}.keynote-photo{min-height:0;height:380px}.keynote-photo img{object-fit:contain}.keynote-copy{padding:26px}.keynote h3{font-size:30px}.session-grid{grid-template-columns:1fr}.session h3{font-size:20px}.outline h2{font-size:55px}dl>div{grid-template-columns:100px 1fr;gap:12px}.entry{padding:55px 6%}.entry .button{min-width:0;width:100%;max-width:400px}.entry h2{font-size:29px}footer{flex-wrap:wrap;padding:30px 6%}footer .logo{width:100%}.index-row{grid-template-columns:35px 1fr 20px;gap:12px;font-size:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* November conference update */
.event-visual{border:1px solid #ffffff80;padding:35px;background:#942920;box-shadow:15px 15px 0 #83271f}.event-date{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(80px,11vw,175px);line-height:1;margin:25px 0}.event-date span{display:block;font-size:20px;letter-spacing:5px;margin-top:18px}.event-time{border-top:1px solid #ffffff60;border-bottom:1px solid #ffffff60;padding:18px 0;font-size:25px;letter-spacing:2px}.event-time small{font-size:14px}.event-message{font-size:clamp(21px,2.3vw,36px);font-weight:700;line-height:1.8;margin-top:25px}.event-message strong{font-size:1.4em}.audience{border-top:1px solid #bbb;margin-top:45px;padding-top:25px;line-height:2}.audience li{padding:5px 0}.keynote-panel{background:var(--red);color:white;padding:40px;display:flex;flex-direction:column;justify-content:space-between;gap:35px}.keynote-panel>strong{font-family:'Barlow Condensed',sans-serif;font-size:clamp(40px,4.4vw,70px);line-height:1.1}.keynote-panel>span{font-size:14px;letter-spacing:2px}.keynote-panel>p{font-size:23px}.index-row{grid-template-columns:110px 1fr 25px}.schedule-time small{display:block;font-size:17px}.index-row p{font-size:14px;line-height:1.8;margin:10px 0 0;color:#555}.entry-status{border:1px solid #ffffff80;padding:22px;margin:30px auto 0;max-width:440px;font-weight:700}.session-speakers{line-height:2!important}@media(max-width:800px){.event-visual{padding:25px;box-shadow:8px 8px 0 #83271f}.event-date{font-size:100px}.event-message{font-size:25px}.index-row{grid-template-columns:65px 1fr 18px;gap:12px}.keynote-panel{padding:30px}.visual-caption{font-size:12px}.event-date span{font-size:17px;letter-spacing:3px}}

.approved-visual img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.approved-visual{min-width:0}

/* Reference-aligned centered key visual */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0}
header{height:73px;background:#fff;padding:0 32px}header .logo{font-size:24px}header .menu{display:block;background:none;border:0;font-size:27px;padding:8px;cursor:pointer}header nav{display:none;position:absolute;top:73px;left:0;right:0;background:#fff;padding:28px 32px;flex-direction:column;align-items:stretch;gap:22px;box-shadow:0 8px 15px #0001}header nav.open{display:flex}
.hero.hero-centered{padding:20px 20px 40px;background:#ad3028}.hero-centered .approved-visual{width:100%;max-width:764px;margin:0 auto}.hero-centered .approved-visual img{border:2px solid white;box-shadow:none}.hero-centered .hero-entry{width:100%;max-width:764px;margin:32px auto 0;border-radius:50px;justify-content:center;gap:30px}
@media(max-width:800px){header{padding:0 20px}.hero.hero-centered{padding:16px 16px 28px}.hero-centered .hero-entry{min-width:0;margin-top:24px}header .logo{font-size:23px}}

/* Keynote speaker and supplied book covers */
.keynote.keynote-profile{display:block;background:#fff;color:#181818;scroll-margin-top:95px}.keynote-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 32px;background:var(--red);color:white}.keynote-heading h3{font-size:26px;margin:0;line-height:1.5}.keynote-heading>span{font-family:'Barlow Condensed',sans-serif;font-size:18px;letter-spacing:1px}.keynote-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;padding:40px}.murayama-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 40%}.person-details{padding-top:24px}.person-name{font-size:32px;font-weight:800;margin:0 0 16px;letter-spacing:2px}.person-name>span{font-size:17px;margin-left:10px;letter-spacing:0}.person-role{font-size:15px;line-height:2;margin:0;overflow-wrap:anywhere}.keynote-topic .eyebrow{color:var(--red);margin:0 0 15px}.keynote-topic h4{font-size:clamp(28px,3.1vw,44px);line-height:1.5;margin:0 0 22px}.keynote-description{font-size:16px;line-height:2;margin:0}.keynote-books{margin-top:28px;padding-top:22px;border-top:1px solid #ddd}.keynote-books h5{font-size:14px;font-weight:600;margin:0 0 20px;letter-spacing:1px;color:#555}.book-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:350px}.book-grid figure{margin:0;min-width:0}.book-grid img{display:block;width:100%;height:215px;object-fit:contain;object-position:left bottom}.book-grid figcaption{font-size:14px;font-weight:700;line-height:1.7;margin-top:12px}.book-grid figcaption small{display:block;font-weight:400;font-size:12px;color:#555}
@media(max-width:800px){.keynote-heading{padding:18px 22px;flex-wrap:wrap;gap:6px}.keynote-heading h3{font-size:24px}.keynote-heading>span{font-size:16px}.keynote-profile-grid{grid-template-columns:1fr;padding:24px;gap:32px}.murayama-photo{aspect-ratio:4/3}.person-name{font-size:28px}.person-role{font-size:14px}.book-grid{gap:18px}.book-grid img{height:auto;aspect-ratio:1057/1500;object-fit:contain}}

/* Three related books */
.book-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:520px;gap:18px}.book-grid img{height:auto;aspect-ratio:592/840;object-fit:contain;object-position:center bottom}.book-grid figcaption{overflow-wrap:anywhere}@media(max-width:480px){.book-grid{gap:12px}.book-grid figcaption{font-size:13px}.book-grid figcaption small{font-size:12px}}

/* Session 02 banner and complete speaker biographies */
.session.session-featured{grid-column:1/-1;padding:0;overflow:hidden;background:#fff;color:#181818}.session-featured-heading{padding:28px 32px}.session-featured .session-num{color:var(--red)}.session-featured h3{font-size:clamp(22px,2.3vw,32px);margin:14px 0 0;line-height:1.65}.session-banner{display:block;width:100%;height:auto}.speaker-biographies{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:36px 32px}.speaker-biography{min-width:0}.speaker-biography h4{font-size:24px;margin:0 0 14px;line-height:1.5}.session-featured .biography-role{font-size:14px;font-weight:600;color:#333;line-height:1.9;margin:0 0 22px}.session-featured .biography-text{font-size:16px;line-height:2;color:#444;margin:0;overflow-wrap:anywhere}@media(max-width:800px){.session-featured-heading{padding:24px}.speaker-biographies{grid-template-columns:1fr;padding:28px 24px;gap:30px}.speaker-biography+.speaker-biography{border-top:1px solid #ddd;padding-top:28px}.speaker-biography h4{font-size:23px}}

.speaker-biographies.speaker-biographies-single{grid-template-columns:1fr}.speaker-biographies-single .biography-text{max-width:70ch}

.biography-paragraphs{white-space:pre-line}

.session-subtitle{display:inline-block;font-size:.72em;line-height:1.8;margin-top:8px}

.keynote-subtitle{display:block;font-size:.62em;line-height:1.65;margin-top:8px}

/* Compact speaker profiles and stronger mobile hierarchy */
@media(max-width:800px){
  .concept h2{font-size:clamp(44px,12vw,58px);line-height:1.3;letter-spacing:-1.8px}
  .concept .prose h3{font-size:27px;line-height:1.55;margin:4px 0 20px}
  .concept .prose p{font-size:14px;line-height:1.9;margin:0}
  .session-featured-heading{padding:21px 22px}
  .session-featured h3{font-size:20px;line-height:1.5;margin-top:10px}
  .speaker-biographies{padding:22px 24px 25px;gap:22px}
  .speaker-biography+.speaker-biography{padding-top:22px}
  .speaker-biography h4{font-size:20px;line-height:1.35;margin-bottom:9px}
  .session-featured .biography-role{font-size:12px;line-height:1.55;margin-bottom:13px}
  .session-featured .biography-text{font-size:13px;line-height:1.75}
  .biography-paragraphs{white-space:pre-line}
}

/* Use the mobile presentation on desktop as well */
html{background:#ad3028}
body{width:min(100%,800px);margin:0 auto;background:var(--paper);box-shadow:none}
.section{padding:55px 6%}
.section-label{margin-bottom:35px;font-size:12px}
.concept-grid,.outline-grid{grid-template-columns:1fr;gap:30px}
.concept h2{font-size:clamp(44px,12vw,58px);line-height:1.3;letter-spacing:-1.8px}
.concept .prose h3{font-size:27px;line-height:1.55;margin:4px 0 20px}
.concept .prose p{font-size:14px;line-height:1.9;margin:0}
.section-title{display:block}
.section-title h2{font-size:34px}
.keynote-profile-grid{grid-template-columns:1fr;padding:24px;gap:32px}
.keynote-heading{padding:18px 22px;flex-wrap:wrap;gap:6px}
.keynote-heading h3{font-size:24px}
.keynote-heading>span{font-size:16px}
.keynote{grid-template-columns:1fr}
.keynote-copy{padding:26px}
.keynote h3{font-size:30px}
.session-grid{grid-template-columns:1fr}
.session-featured-heading{padding:21px 22px}
.session-featured h3{font-size:20px;line-height:1.5;margin-top:10px}
.speaker-biographies,.speaker-biographies.speaker-biographies-single{grid-template-columns:1fr;padding:22px 24px 25px;gap:22px}
.speaker-biography+.speaker-biography{border-top:1px solid #ddd;padding-top:22px}
.speaker-biography h4{font-size:20px;line-height:1.35;margin-bottom:9px}
.session-featured .biography-role{font-size:12px;line-height:1.55;margin-bottom:13px}
.session-featured .biography-text{font-size:13px;line-height:1.75}
.outline h2{font-size:55px}
dl>div{grid-template-columns:100px 1fr;gap:12px}
.entry{padding:55px 6%;background:#111}
.entry h2{font-size:29px}
footer{flex-wrap:wrap;padding:30px 6%}
footer .logo{width:100%}

header{background:#fff;color:#111;border-bottom-color:#ddd}
header .menu{color:#111}
header nav{background:#fff;color:#111}
@media(min-width:801px){
  header{width:100vw;height:86px;margin-left:calc(50% - 50vw);padding:0 4%}
  header nav{top:86px;padding-left:4%;padding-right:4%}
  header .logo{font-size:27px}
}

.speaker-biographies-single .biography-text{max-width:none;width:100%}

/* Editorial hierarchy and natural paragraph wrapping */
.concept h2{font-size:clamp(28px,10vw,58px);letter-spacing:-.035em;line-height:1.35}
.concept-line{display:block;white-space:nowrap}
.concept .prose p+p{margin-top:1.9em}
.biography-paragraphs{white-space:normal}
.section-title p{line-height:1.85}
@media(min-width:801px){
  .section-title h2{font-size:48px;line-height:1.4}
  .concept .prose h3{font-size:36px;line-height:1.5;margin-bottom:24px}
  .section-title p{font-size:16px}
}
