/* Poster edition — red ink, black, warm paper, bold Japanese typography. */
:root,.conference-page,.ticket-page{--red:#ce001d;--ink:#111;--paper:#faf5df;--muted:#514c43;--line:#bdb7a5;background:var(--paper);color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}
.conference-page h2,.conference-page h3,.ticket-page h1,.ticket-page h2,.ticket-page h3{font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif!important;font-weight:900;letter-spacing:-.035em;line-height:1.35}
.conference-page header,.ticket-page header{background:var(--paper);border-bottom:3px solid #111;padding:8px 4%;box-shadow:none}
.conference-page header img,.ticket-page header img{width:132px;mix-blend-mode:multiply}
.conference-page .draft,.ticket-page .draft{background:#111;color:var(--paper);font-size:12px}.conference-page .draft span,.ticket-page .draft span{color:#e4dcc4}
.conference-page .nav-ticket,.ticket-page .nav-ticket{background:var(--red);color:var(--paper);border:2px solid #111;padding:14px 20px}
.poster-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.43fr);max-width:1600px;margin:auto;background:#111;color:var(--paper);border:16px solid var(--paper);border-top:0;align-items:stretch}
.poster-art{position:relative;aspect-ratio:1055/1030;overflow:hidden;background:var(--red)}
.poster-art img{position:absolute;display:block;width:100%;height:auto;max-width:none;top:0;left:0}
.poster-event{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(24px,3vw,52px);gap:26px;border-left:8px solid var(--paper)}
.poster-kicker{font:900 clamp(32px,4.4vw,70px)/.95 'Arial Black',Arial,sans-serif;letter-spacing:-.055em;color:var(--paper)}
.poster-year{font:bold 23px/1 Arial,sans-serif}.poster-date{font:900 clamp(60px,7vw,105px)/1.06 'Arial Black',Arial,sans-serif;letter-spacing:-.07em;margin:4px 0 18px!important}.poster-date span{font:900 15px Arial,sans-serif;letter-spacing:.03em;display:inline-block;margin-left:9px}.poster-venue{font-size:clamp(20px,2.1vw,29px);font-weight:900;line-height:1.45}.poster-times{border-top:2px solid var(--paper);margin-top:22px;padding-top:17px}.poster-times p{display:flex;justify-content:space-between;gap:10px;font-size:14px;margin:3px 0}.poster-description{font-size:15px;line-height:1.8;margin-top:20px}.poster-cta{display:block;background:var(--red);color:var(--paper);padding:18px 12px;font-size:15px;font-weight:900;text-align:center;margin-top:22px;border:2px solid var(--paper);box-shadow:4px 4px 0 var(--paper)}.poster-cta:hover{background:var(--paper);color:var(--ink);text-decoration:none}
.poster-ribbon{overflow:hidden;background:var(--red);color:var(--paper);border-block:3px solid #111;padding:17px 20px;text-align:center;font-size:clamp(15px,2.5vw,32px);font-weight:900;letter-spacing:.08em}
.conference-page .section{padding:80px 6%;max-width:1400px}.conference-page .eyebrow{font-size:14px;font-weight:900;color:var(--red);letter-spacing:.1em}.conference-page .about h2{font-size:clamp(30px,4.2vw,60px)}.conference-page .about{gap:5%;background:var(--paper)}.conference-page .prose{padding-top:12px}.conference-page .prose p,.conference-page .prose .concept-summary{font-size:16px;color:#29261f}.conference-page .audience-chips span{font-size:14px;color:#111;border:1px solid #111;padding:4px 10px;background:transparent}.conference-page .audience-chips{gap:8px}
.conference-page .photo-experience{padding-top:25px}.conference-page .photo-experience h2{font-size:clamp(28px,3.5vw,46px)}.conference-page .photo-story{border:2px solid #111;background:#111;color:var(--paper)}.conference-page .photo-story figure img{filter:grayscale(1);opacity:.85}.conference-page .photo-story figure{aspect-ratio:1.9}.conference-page .photo-caption h3{font-size:clamp(26px,3.4vw,46px);color:var(--paper)}.conference-page .photo-caption>span{font-size:14px;background:var(--red);padding:4px 8px}.conference-page .photo-story-copy{padding:21px 25px;border-top:6px solid var(--red)}.conference-page .photo-story-copy b{font-size:18px}.conference-page .photo-story-copy p{font-size:16px;color:var(--paper)}.conference-page .experience-photo-grid{scrollbar-color:var(--red) #dbd4bd}.experience-buttons button{border:2px solid #111;font-weight:800;background:var(--paper)}
.conference-page .program{max-width:none;background:#111;color:var(--paper);padding-inline:max(6%,calc((100vw - 1232px)/2))}.conference-page .program .section-head{border-bottom:4px solid var(--red);padding-bottom:25px}.conference-page .program h2.timetable-heading{font-size:clamp(26px,4vw,48px);color:var(--paper)}.conference-page .program .section-head>p,.conference-page .program .small{color:#ddd4bd}.conference-page .slot{border-bottom:1px solid #59544a;grid-template-columns:190px 1fr}.conference-page .slot time{font-weight:900;color:var(--paper)}.conference-page .slot h3{color:var(--paper);font-size:25px}.conference-page .slot p{color:#ddd4bd;font-size:16px}.conference-page .tag{color:var(--paper);font-size:12px;font-weight:700;background:var(--red);display:inline-block;padding:3px 9px;margin-bottom:9px}.conference-page .break{color:#c5bda8;border-color:#59544a;font-size:14px;grid-template-columns:190px 1fr}.conference-page .special,.conference-page .night{background:#29231e;padding:25px 20px;margin-inline:-20px}.conference-page .night h3{color:var(--paper)}
.conference-page .workshop{background:var(--red);color:var(--paper);padding:75px 6%;border-bottom:4px solid #111}.conference-page .workshop h2,.conference-page .workshop h3,.conference-page .workshop-copy .eyebrow,.conference-page .workshop-copy>p:last-child,.conference-page .workshop-steps p{color:var(--paper)}.conference-page .workshop h2{font-size:clamp(32px,4vw,55px)}.conference-page .workshop-photo{border:5px solid var(--paper);box-shadow:9px 9px 0 #111}.conference-page .workshop-photo img{filter:grayscale(1)}.conference-page .workshop-steps{border-top:2px solid var(--paper)}.conference-page .workshop-steps article>span{color:var(--paper);font:900 48px Arial}.conference-page .workshop-steps h3{font-size:23px}.conference-page .workshop-steps p{font-size:16px}
.conference-page .banquet-feature{background:var(--paper);color:#111}.conference-page .banquet-feature figure img{filter:grayscale(1)}.conference-page .banquet-copy{padding:60px 10%}.conference-page .banquet-copy h2{font-size:clamp(45px,6vw,80px);color:var(--red)}.conference-page .banquet-copy .eyebrow{color:var(--red)}.conference-page .banquet-copy .banquet-lead{font-weight:900;font-size:30px}.conference-page .banquet-copy>p:not(.eyebrow):not(.banquet-lead),.conference-page .banquet-meta{color:#29261f;font-size:16px}.conference-page .banquet-copy>a{color:#111;font-weight:800;border-bottom:3px solid #111;font-size:16px}
.conference-page #speakers{max-width:none;background:#111;color:var(--paper);padding:80px max(6%,calc((100vw - 1232px)/2))}.conference-page #speakers>.eyebrow{color:var(--paper)}.conference-page .people-heading h2{font-size:clamp(34px,4.8vw,66px)}.conference-page .speaker-card{background:var(--paper);border:2px solid var(--paper)}.conference-page .speaker-portrait{background:#d6cdb8}.conference-page .speaker-portrait img{filter:grayscale(1)}.conference-page .speaker-portrait .portrait-1{filter:none}.conference-page .speaker-info{border-top:8px solid var(--red)}.conference-page .speaker h3{font-size:28px}.conference-page .speaker p{font-size:16px;color:#38332c}.conference-page .speaker-status{color:#aa0018}.conference-page .speaker .field{color:#aa0018}.conference-page .type-portrait{background:var(--red);color:var(--paper)}.conference-page .type-portrait .portrait-monogram{font-family:inherit;font-weight:900}.conference-page .source-note{color:#d0c7b4}
.conference-page .partner-gallery{background:var(--paper)}.conference-page .partner-gallery h2{font-size:clamp(32px,4vw,54px)}.conference-page .partner-tier{border-top:2px solid #111}.conference-page .tier-label h3{font-size:16px}.conference-page .rank-logo{background:#fffdf3;border:1px solid #b5ad98}.conference-page .partner-note{color:#50483d;font-size:14px}.conference-page .access{background:#eae3ce;border-top:4px solid #111}.conference-page .access h2{font-size:32px}.conference-page .event-facts b{font-size:16px}.conference-page .home-ticket-gateway{background:var(--red);border-block:4px solid #111;color:var(--paper);padding:65px 6%}.conference-page .home-ticket-gateway h2{font-size:clamp(32px,4.3vw,60px)}.conference-page .home-ticket-gateway p,.conference-page .home-ticket-gateway .eyebrow,.conference-page .gateway-action small{color:var(--paper)}.conference-page .gateway-action .button{background:#111;color:var(--paper);border:2px solid var(--paper);box-shadow:5px 5px 0 #111}.conference-page footer{background:var(--paper);color:#38332c}.conference-page footer img{mix-blend-mode:multiply}
.ticket-page .ticket-page-intro{background:var(--red);color:var(--paper);border-bottom:5px solid #111}.ticket-page .ticket-page-intro .eyebrow{color:var(--paper)}.ticket-page .ticket-page-intro h1{font-size:clamp(38px,6vw,76px);white-space:normal}.ticket-page .ticket-grid article{border:2px solid #111;background:var(--paper);border-radius:0}.ticket-page .ticket-grid .recommended{border-top:9px solid var(--red)}.ticket-page .price{font-weight:900;color:var(--red)}.ticket-page .application{background:#eee6cc;border-top:4px solid #111}.ticket-page .entry-panel{border:2px solid #111;background:#fffdf5}.ticket-page .entry-primary{background:var(--red);font-size:16px;font-weight:800}.ticket-page .entry-steps li[aria-current]{border-color:var(--red);color:#a50017}.ticket-page .entry-panel input{border-radius:0;border-color:#6b6252}.ticket-page .entry-panel input:focus{outline-color:var(--red)}.ticket-page .payment-guide{background:#f1ecd9}.ticket-page .ticket-date{color:var(--paper)}
@media(max-width:1000px){.poster-hero{grid-template-columns:minmax(0,1fr) 280px;border-width:10px}.poster-event{padding:22px;gap:18px}.poster-kicker{font-size:39px}.poster-date{font-size:67px}.poster-description{display:none}.poster-times p{display:block}.poster-times b{display:block}.poster-venue{font-size:21px}.poster-cta{font-size:14px;padding:14px 8px}.conference-page nav{gap:12px}.conference-page .speaker p{font-size:15px}}
@media(max-width:700px){.poster-hero{display:block;border:8px solid var(--paper);border-top:0}.poster-art{aspect-ratio:1055/1030}.poster-event{border-left:0;border-top:6px solid var(--paper);padding:25px;background:#111}.poster-kicker{display:none}.poster-event-details{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;align-items:center}.poster-year{font-size:20px;grid-column:1}.poster-date{font-size:64px;grid-column:1;margin:0!important;grid-row:2}.poster-date span{font-size:12px}.poster-venue{grid-column:2;grid-row:1/3;font-size:20px}.poster-times{grid-column:1/-1;display:flex;gap:22px;margin:8px 0 0;padding-top:10px}.poster-times p{flex:1;margin:0;font-size:14px}.poster-times b{font-size:18px}.poster-cta{grid-column:1/-1;margin:12px 0 3px;font-size:16px}.poster-ribbon{font-size:14px;padding:12px 10px;letter-spacing:0}.conference-page .section{padding:55px 6%}.conference-page .about{display:block}.conference-page .about h2{font-size:32px}.conference-page .prose{padding-top:24px}.conference-page .photo-experience{padding-top:15px}.conference-page .photo-caption{left:18px;bottom:20px}.conference-page .photo-caption h3{font-size:28px}.conference-page .photo-story figure{aspect-ratio:1.2}.conference-page .photo-story-copy{padding:20px 17px}.conference-page .program .slot{grid-template-columns:1fr;gap:9px}.conference-page .slot h3{font-size:22px}.conference-page .program .break{grid-template-columns:110px 1fr;gap:12px}.conference-page .special,.conference-page .night{margin-inline:-10px;padding-inline:10px}.conference-page .workshop{padding:50px 6%}.conference-page .workshop-steps{gap:25px}.conference-page .banquet-copy{padding:40px 6%}.conference-page .banquet-copy .banquet-lead{font-size:26px}.conference-page #speakers{padding:55px 6%}.conference-page .speaker h3{font-size:23px}.conference-page .speaker-grid{gap:18px 12px}.conference-page .speaker-info{padding:16px 12px}.conference-page .speaker p{font-size:14px;min-height:0}.conference-page .access h2{font-size:26px}.conference-page .home-ticket-gateway{padding:45px 6%}.conference-page .draft span{display:none}.ticket-page .entry-steps li{font-size:13px}}
@media(max-width:700px){.poster-event-details{grid-template-columns:.9fr 1.1fr;gap:10px 14px}.poster-venue{font-size:17px;word-break:keep-all}.poster-date{font-size:56px}.poster-date span{display:block;margin:7px 0 0;font-size:12px}.poster-times{gap:14px}}
/* Confirmed speakers and the initiator have separate roles. */
.conference-page .speaker-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.conference-page .speaker-info{padding:22px 18px}.conference-page .speaker h3{font-size:25px}.conference-page .speaker p{min-height:0}.conference-page .speaker-portrait.speaker-icon{display:flex;align-items:center;justify-content:center}.conference-page .speaker-icon img{width:64%;height:64%;object-fit:contain;filter:none}.conference-page .speaker-announcement{font-size:16px;color:var(--paper);border-top:1px solid #655e50;padding-top:25px;margin-top:38px}.conference-page .initiator-section{background:var(--paper);display:grid;grid-template-columns:1fr 3fr;gap:45px;border-bottom:3px solid #111}.conference-page .initiator-heading h2{font-size:44px}.initiator-card{display:grid;grid-template-columns:240px 1fr;gap:35px;align-items:center}.initiator-card>img{width:100%;height:260px;object-fit:cover;object-position:50% 66%;filter:grayscale(1);border-bottom:8px solid var(--red)}.initiator-label{font-size:14px;font-weight:800;color:#aa0018}.conference-page .initiator-card h3{font-size:34px;margin:12px 0}.initiator-card p{font-size:16px;line-height:1.9}.initiator-card .initiator-role{font-size:14px;margin:18px 0}.initiator-card .text-link{font-size:14px}
@media(max-width:1000px){.conference-page .speaker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.conference-page .initiator-section{grid-template-columns:1fr}.initiator-card{grid-template-columns:200px 1fr}}
@media(max-width:650px){.conference-page .speaker-grid{gap:20px 12px}.conference-page .speaker-info{padding:17px 12px}.conference-page .speaker h3{font-size:22px}.conference-page .initiator-section{gap:24px}.initiator-card{grid-template-columns:110px 1fr;gap:20px;align-items:start}.initiator-card>img{height:150px}.conference-page .initiator-card h3{font-size:27px}.initiator-card p{font-size:14px}.initiator-label{font-size:12px}}
.conference-page #speakers .section-intro{color:#e6dfcd;font-size:16px}

/* Confirmed speaker roster: 9 cards */
@media(min-width:901px){.conference-page .speaker-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
.conference-page .type-portrait{background:#201e1c;color:#fff4dc;border-bottom:4px solid #bd1727}.conference-page .type-portrait .portrait-monogram{font-family:inherit;font-weight:800}.conference-page .type-portrait .portrait-coming{font-size:14px;color:#fff4dc}

.conference-page .speaker-portrait img[src$="hashizume.jpg"]{object-position:50% 18%}.conference-page .speaker-portrait img[src$="tanaka.jpg"]{object-position:50% 30%}.conference-page .speaker-portrait img[src$="murakami-official.jpg"]{object-position:46% 35%}.conference-page .speaker-portrait img[src$="osumi-official.jpg"]{object-position:57% 45%}

.conference-page .home-ticket-gateway{display:block}.home-entry-options{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}.home-entry-options article{border:2px solid currentColor;padding:28px}.home-entry-options h3{font-size:26px;margin:12px 0}.home-entry-options p{font-size:16px;line-height:1.8}.home-entry-options .button{display:block;background:#111;color:#fff8e5;margin-top:24px;border:1px solid #fff8e5}.home-entry-options small{display:block;margin-top:14px;font-size:12px}.conference-page .home-entry-note{margin-top:24px;font-size:13px}#support{scroll-margin-top:100px}@media(max-width:650px){.home-entry-options{grid-template-columns:1fr;gap:18px}.home-entry-options article{padding:24px}.home-entry-options h3{font-size:23px}}

/* Sponsor recognition: logo hierarchy and text-only supporters */
.partner-intro{margin-top:20px;line-height:1.9}.conference-page .partner-tier .tier-label h3{font-size:20px;font-weight:800;letter-spacing:.02em}.conference-page .partner-tier .tier-label>span{font-size:10px;letter-spacing:.12em;color:#655d50}.conference-page .awaiting-logo{border:1px dashed #b5ad98;background:transparent}.conference-page .awaiting-logo>span{font-family:inherit;font-size:13px;letter-spacing:.06em;color:#756b5c}.rank-logo img{width:80%;height:75%;object-fit:contain}.tier-logos a.rank-logo:hover{border-color:#b71928}.tier-logos a.rank-logo:focus-visible{outline:3px solid #b71928;outline-offset:4px}.supporter-names{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center}.supporter-names .supporter-name{font-size:16px;font-weight:600}.supporter-pending{font-size:14px;color:#756b5c;margin:0;padding:12px 0}.conference-page .partner-note{margin-top:28px;font-size:12px}@media(max-width:650px){.conference-page .partner-tier .tier-label h3{font-size:18px}.conference-page .awaiting-logo>span{font-size:11px}.supporter-names{gap:12px 20px}}

/* Equal logo sizes; sponsorship ranks retired */
.partner-logos-uniform .rank-logo{width:260px;max-width:100%;aspect-ratio:2.4}.partner-logos-uniform .tier-logos{gap:24px}@media(max-width:650px){.partner-logos-uniform .rank-logo{width:calc(50% - 8px);max-width:none}.partner-logos-uniform .tier-logos{gap:16px}}
