/* Mobile art direction. Desktop and hero image/motion layers are unchanged. */
@media(max-width:760px){
 :root{--page:20px;--mobile-ink:#172744;--mobile-paper:#fffcf3}
 html{scroll-padding-top:86px}body{font-size:16px;padding-bottom:0}
 .header{height:70px;padding:0 20px;gap:12px;border-bottom:2px solid var(--mobile-ink);background:#fff;backdrop-filter:none}
 .header .brand img{width:118px}.header .btn{font-size:12px;min-height:43px;padding:10px 13px;gap:9px;border-radius:8px}.header .btn small{font-size:10px;padding:2px 4px}
 .section{padding:64px 20px}.section .chapter-title,.access-info .chapter-title{display:table;max-width:100%;font-size:clamp(26px,7.1vw,34px);font-weight:900;letter-spacing:-.035em;line-height:1.35;background:#172744;color:#fff;border:2px solid #172744;border-radius:8px;padding:11px 17px;margin:0 0 24px;box-shadow:3px 3px 0 #477fda;text-wrap:balance}
 .section .chapter-title:after{content:none}.section .chapter-copy,.program-intro>p.chapter-copy{font-size:clamp(25px,7vw,32px);font-weight:900;letter-spacing:-.04em;line-height:1.55;margin:0;color:var(--mobile-ink)}
 .section-heading{gap:18px;margin-bottom:26px}.section-intro{font-size:15px!important;line-height:1.9;color:#43516a}
 .btn{border-radius:9px;font-weight:800}.text-link{font-size:15px;gap:19px;font-weight:700;min-height:44px}
 /* The date is the dominant first line, followed by event facts and booking. */
 .schedule{background-color:var(--mobile-paper);background-image:radial-gradient(#bdc8da 0.7px,transparent .7px);background-size:19px 19px;border-top:3px solid #172744;border-bottom:2px solid #172744}
 .schedule-toolbar{font-size:12px;line-height:1.8;align-items:start;gap:12px;padding:0 0 16px;border-color:#a8b2c1}.schedule-toolbar span:last-child{text-align:right}.schedule-toolbar b{font-size:17px}
 .event-grid{gap:24px;margin-top:24px}.event-card{display:flex;flex-direction:column;border:2px solid #172744;border-radius:15px;background:#fff;box-shadow:4px 5px 0 #172744;overflow:hidden}
 .event-head{display:block;padding:17px 20px;background:#19376b;border:0;border-bottom:2px solid #172744}
 .event-date{font-family:Arial,'Noto Sans JP',sans-serif;font-size:clamp(29px,8.3vw,39px);line-height:1.25;letter-spacing:-1.2px;font-weight:900;white-space:nowrap;color:#fff}
 .event-date small{font-size:.74em;font-weight:800}.event-date span{font-size:.46em;letter-spacing:0;margin-left:3px}
 .event-content{padding:19px 20px 21px;gap:0}.event-type{font-size:12px;border:1px solid #c6d4ed;border-radius:5px;padding:4px 9px;line-height:1.5;margin:0;background:#edf3fd;color:#19376b}
 .event-meta{gap:10px 17px;margin-top:15px}.event-meta p{font-size:15px;line-height:1.6;gap:6px}.event-meta svg{width:18px;flex:none}.event-industries{font-size:13px;line-height:1.8;margin:12px 0 18px;min-height:0;color:#536079}
 .event-content .btn{width:100%;min-height:55px;font-size:17px;padding:14px 18px;background:#087f52;border:2px solid #172744;border-radius:9px;box-shadow:0 2px 0 #172744;gap:12px}
 .schedule-note{font-size:12px;line-height:1.9;margin-top:25px;color:#536079}
 /* Conversation-led introduction and strong, readable feature panels. */
 .about{display:block;background:#edf3fc;text-align:left}.about .chapter-title{margin-left:0;margin-right:0}.about-title .chapter-copy{font-size:clamp(25px,7.2vw,33px)}
 .worry-bubbles{margin:30px 0 38px;gap:21px}.worry-bubbles p{border:1.5px solid #172744;box-shadow:3px 4px 0 #c4d5f1;border-radius:13px;padding:20px;font-size:16px;line-height:1.7}.worry-bubbles strong{font-size:20px;color:#19376b}.worry-bubbles p:after{filter:drop-shadow(0 2px 0 #172744)}
 .about-answer{border:2px solid #172744;border-radius:15px;box-shadow:4px 5px 0 #172744}.about-answer figure{height:280px;border-bottom:2px solid #172744}.about-answer figure img{object-position:center 22%}.about-answer>div{padding:25px 22px 28px}.answer-label{font-size:14px}.about-answer h3{font-family:inherit;font-size:29px;line-height:1.6;font-weight:900;margin:14px 0 18px}.about-answer p{font-size:16px;line-height:1.9}
 .reasons{background:#fffcf3}.feature-panels{gap:25px;margin-top:29px}.feature-panel{padding:25px 22px;border:2px solid #172744;border-radius:15px;background:white;box-shadow:4px 5px 0 #172744}.feature-title h3{font-size:27px;line-height:1.5;font-weight:900;margin:0 0 23px}.feature-panel>p{font-size:16px;line-height:1.9;margin-top:21px}.secret-diagram,.time-diagram,.feature-photo{height:210px;border-radius:9px}.secret-diagram,.time-diagram{background:#e9f0fc}.secret-diagram strong{font-size:19px}.secret-diagram small,.secret-diagram div span{font-size:12px}.feature-photo>span{font-size:14px;padding:10px}.time-diagram>div:first-child{font-size:27px}.company-boxes>span{min-width:44px;font-size:14px}.company-boxes small{font-size:10px}
 /* A continuous sequence with distinct, thumb-readable steps. */
 .program{background:#19376b;display:block}.program .chapter-title{background:#fff;color:#172744;box-shadow:3px 3px 0 #89aef1}.program-intro>p.chapter-copy{color:white}.program-intro>p:not(.eyebrow):not(.chapter-copy){font-size:15px;line-height:1.9;color:#e2eafb;margin:21px 0}.program .text-link{color:white}.program-clock{font-size:35px;margin-top:28px;color:white}
 .timeline{margin-top:35px;display:grid;gap:16px}.timeline li,.timeline li:first-child{position:relative;background:#fff;color:#172744;border:2px solid #172744;box-shadow:3px 4px 0 #0c1d3b;border-radius:12px;padding:23px 19px;gap:15px;align-items:flex-start}.timeline li>span{font-family:Arial,sans-serif;font-size:27px;font-weight:900;color:#477fda;line-height:1.2;margin:0}.timeline li>div{min-width:0}.timeline h3{font-size:18px;line-height:1.6;font-weight:800;margin-bottom:10px}.timeline p{font-size:14px;line-height:1.85;color:#536079}.program-note{font-size:12px;line-height:1.8;margin:23px 0 0;color:#e2eafb}
 .access{display:flex;flex-direction:column;gap:28px;background:#fff}.access-photo{width:100%;border:2px solid #172744;border-radius:13px;overflow:hidden}.access-photo img{height:210px}.access-photo>span{font-size:16px;padding:17px 18px;background:#edf3fc}.access-info{width:100%}.access-info .chapter-title{font-size:clamp(24px,6.6vw,31px);padding:11px 14px}.access-info dl{margin-top:28px}.access-info dl>div{display:block;padding:20px 0;border-color:#ced5df}.access-info dt{font-size:13px;font-weight:800;color:#49638d;margin-bottom:7px}.access-info dd{font-size:16px;line-height:1.9;overflow-wrap:anywhere}.access-info small{display:inline-block;font-size:13px;line-height:1.8;margin-top:6px}.access-info .text-link{font-size:15px}
 .faq{background:#fffcf3;gap:25px}.faq-list{display:grid;gap:13px}.faq-list details,.faq-list details:last-child{background:white;border:2px solid #172744;border-radius:11px;padding:19px 17px;box-shadow:2px 3px 0 #d9dfeb}.faq-list summary{font-size:16px;font-weight:700;padding-left:27px;padding-right:23px;line-height:1.7}.faq-list summary:before{font-size:18px;font-weight:900;color:#19376b}.faq-list summary:after{font-size:23px;top:-2px}.faq-list details p{font-size:15px;line-height:1.9;padding:0;margin:17px 0 0;color:#536079}
 .closing{padding:58px 20px;background:#e4edfc;border-top:2px solid #172744;border-bottom:2px solid #172744}.closing .eyebrow{font-size:12px;letter-spacing:.09em}.closing h2{font-size:clamp(30px,8.3vw,39px);line-height:1.5;font-weight:900}.closing>p:not(.eyebrow){font-size:15px;line-height:1.9;margin:22px 0 27px}.closing .btn{border:2px solid #172744;box-shadow:3px 4px 0 #172744;font-size:16px;min-height:60px;padding:17px 20px}.closing-meta{font-size:12px;margin-top:22px}
 footer{padding:30px 20px calc(125px + env(safe-area-inset-bottom));gap:18px}footer p,footer small{font-size:11px}.back-top{width:43px;height:43px;border-radius:7px}
 .mobile-booking{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:2px solid #172744;background:#fff;gap:13px;box-shadow:0 -5px 18px #10224712}.mobile-booking>span{font-size:11px;line-height:1.65;flex:none}.mobile-booking b{font-size:16px}.mobile-booking .btn{flex:1;min-width:0;min-height:54px;font-size:15px;padding:13px 17px;gap:12px;border:2px solid #172744;box-shadow:0 2px 0 #172744}
}
@media(max-width:360px){.header{padding:0 15px}.header .brand img{width:102px}.header .btn{font-size:11px}.event-head,.event-content{padding-left:16px;padding-right:16px}.event-meta{gap:10px}.event-meta p{font-size:14px}.mobile-booking{padding-left:12px;padding-right:12px}.mobile-booking .btn{font-size:14px}}

@media(max-width:760px){
 /* Major messages are centered; paragraphs and event facts remain readable. */
 .section .chapter-title,.access-info .chapter-title,.about .chapter-title{margin-left:auto;margin-right:auto;text-align:center}
 .section-heading{align-items:center;text-align:center}.section-heading>div{width:100%}
 .section .chapter-copy,.program-intro>p.chapter-copy,.section-intro,.about-title,.program-intro,.faq>div:first-child{text-align:center}
 .reasons>.chapter-title{margin-bottom:24px}.feature-title h3{text-align:center}
 /* Read the message first, then see the unmodified moving photograph. */
 .hero.hero-layered{display:flex;flex-direction:column}
 .hero-content{order:0;text-align:center;padding:29px 20px 25px;margin:0}
 .hero-layered .hero-pre{margin-left:auto;margin-right:auto}
 .hero-layered h1.poster-copy{align-items:center}
 .hero-cta{margin-top:24px}.hero-introduction{order:1;justify-content:center;padding:0 20px 21px}
 .hero-scene{order:2}.hero-lower-shade{display:none}
 /* A path connects the stages; steps lift into view as the reader reaches them. */
 .timeline{position:relative;gap:32px;padding:0 0 3px}
 .timeline:before{content:'';position:absolute;left:50%;top:0;bottom:0;width:3px;background:repeating-linear-gradient(to bottom,#b7cef9 0 7px,transparent 7px 14px);transform:translateX(-50%)}
 .timeline li{position:relative;z-index:1;transition:opacity .6s var(--ease),transform .6s var(--ease)}
 .timeline li:not(:last-child):after{content:'↓';position:absolute;left:calc(50% - 16px);bottom:-31px;width:32px;height:29px;text-align:center;background:#19376b;color:#d5e4ff;font-size:25px;font-weight:800;line-height:29px}
 .timeline li.will-reveal{transform:translateY(22px) scale(.97)}
 .timeline li.is-visible{transform:none}
 .timeline li>span{display:grid;place-items:center;flex:0 0 42px;height:42px;background:#e7efff;border-radius:50%;font-size:23px}
 .program-clock{justify-content:center}.program-intro .text-link{margin:auto}
 .mobile-booking{display:none!important}footer{padding-bottom:35px}
}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.timeline li.will-reveal{transform:none;transition:none}}

@media(max-width:760px){
 .hero-content{padding:37px 20px 26px}.hero-introduction{padding-bottom:28px}
 .section-heading{width:100%;align-items:center!important}.section-intro{width:100%;text-align:center;margin:0 auto}
 .schedule-toolbar{flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding-bottom:20px}.schedule-toolbar span:last-child{text-align:center}
 .answer-label{display:block;text-align:center}.about-answer h3{text-align:center}.about-answer .text-link{display:flex;width:max-content;max-width:100%;margin:17px auto 0}
 .feature-title h3,.access-photo>span{text-align:center}
 .event-content .btn,.closing .btn{justify-content:center;text-align:center;padding-left:40px;padding-right:40px}
 .header .btn{font-size:13px;padding:10px 33px 10px 12px;gap:7px}.header .btn>span[aria-hidden]{right:11px;font-size:18px}.header .btn small{font-size:10px}
 .program-clock{gap:24px;margin:32px auto 0}.program-time>span{font-size:13px}.program-time>strong{font-size:40px}
 .program-clock>.program-time-arrow{font-size:22px;margin-top:24px}
}
@media(max-width:360px){.header{gap:8px}.header .btn{font-size:12px;padding-left:9px;gap:5px}.header .btn small{font-size:9px}.hero-introduction{gap:7px}.hero-introduction span{font-size:13px;padding:7px 9px}}

@media(max-width:760px){
 /* One continuous photo-and-copy composition, preserving the complete group. */
 .hero.hero-layered{display:block;position:relative;height:calc(66.6667vw + 135px);min-height:380px;max-height:none;background:#0d1d3b}
 .hero-scene{position:absolute;inset:0;height:100%;width:100%;aspect-ratio:auto;background:#0d1d3b}
 .shot-camera{transform-origin:50% 16%}.shot-edge-fill{height:66.6667vw;object-fit:fill}
 .hero-lower-shade{display:block;position:absolute;inset:0;height:100%;z-index:4;background:linear-gradient(180deg,transparent 30%,#0d1d3b24 44%,#0d1d3bbf 60%,#0d1d3b 83%)}
 .hero-content{position:absolute;left:16px;right:16px;top:calc(66.6667vw - 74px);bottom:auto;margin:0;padding:0;background:none;display:block;z-index:5}
 .hero-layered .hero-pre{font-size:clamp(13px,3.6vw,16px);margin:0 0 11px;text-shadow:0 1px 6px #071329}
 .hero-layered h1.statement-copy{font-size:clamp(28px,8.2vw,40px);line-height:1.5;letter-spacing:-.07em;text-shadow:0 2px 9px #07132977}
 .hero-layered .hero-handwriting{font-size:1.11em;letter-spacing:-.085em}
 .hero-introduction{position:absolute;left:0;right:0;top:auto;bottom:17px;padding:0;background:none;justify-content:center;gap:9px;z-index:5}
 .hero-introduction span{font-size:14px;padding:7px 10px;background:#1329489c;line-height:1.4}
 .handwriting-underline{height:.18em;bottom:.04em}
 .header{align-items:center}.header .btn{display:inline-flex;align-items:center;justify-content:center;line-height:1;min-height:44px;gap:7px;padding-top:0;padding-bottom:0}
 .header .btn small{display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:5px 6px;margin:0;vertical-align:middle}
}
