/* City palette is inherited only within main; shared header/footer stay unchanged.
   Future city pages define these same roles on their own data-city-theme. */
.program-main[data-city-theme="nagoya"]{
 --city-base:#a56310;
 --city-ink:#84500f;
 --city-action:#99590c;
 --city-disabled:#927346;
 --city-accent:#c38b38;
 --city-line:#e1cda9;
 --city-wash:#fcf8ef;
 --city-tint:#f5ead3;
 --city-highlight:#fff2d7;
 --city-on-base-soft:#fffaf0;
 --city-on-base-accent:#fffaf0;
 --city-line-on-base:#dbb77a;
 --city-hover:#94560e;
 --city-muted:#81745f;
 --city-shadow-rgb:112,72,18;
 --program-gold:var(--city-ink);
 --program-paper:var(--city-wash);
 --program-line:var(--city-line);
}
/* Nagoya section treatments: distinct reading rhythms within the same palette. */
.summit-meeting .nagoya-booking-date{container-type:inline-size;width:100%}
.summit-meeting .nagoya-booking h2{width:100%}
.summit-meeting .nagoya-booking h2 time{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:center;gap:8px;white-space:nowrap}
.summit-meeting .nagoya-booking h2 time>.nagoya-date-year{font-size:min(20px,6.5cqi)}
.summit-meeting .nagoya-booking h2 time>.nagoya-date-day{display:inline-flex;align-items:baseline;gap:2px;font-size:min(56px,16cqi);line-height:1.3}
.nagoya-date-number{font-family:"Jost",sans-serif;font-weight:500;font-variant-numeric:lining-nums tabular-nums}
.nagoya-date-unit{font-size:.5em;margin-right:3px}
.summit-meeting .nagoya-date-weekday{font-size:.44em;margin-left:3px}
.summit-meeting .nagoya-booking .nagoya-booking-time{display:flex;align-items:baseline;justify-content:center;flex-wrap:nowrap;gap:12px;width:100%;letter-spacing:0;margin-top:4px}
.nagoya-time-label{font-size:16px;white-space:nowrap;color:#716a60}
.nagoya-time-value{font:500 min(40px,12.5cqi)/1.5 "Jost",sans-serif;white-space:nowrap;color:var(--city-ink)}
.summit-meeting .program-overview{background:var(--city-wash);border-bottom:0;padding-bottom:20px}
.summit-meeting .program-archive{background:var(--city-wash);padding-top:24px}
.summit-meeting .nagoya-booking .nagoya-edition{background:var(--city-base);color:#fff;padding:12px 16px;width:100%;box-sizing:border-box}
.summit-meeting .nagoya-apply{background:var(--city-action);border-color:var(--city-action);color:#fff}
.summit-meeting .nagoya-apply:disabled{background:var(--city-disabled);border-color:var(--city-disabled);color:#fff}
.summit-meeting .program-overview,.summit-meeting .program-overview:after{border-bottom:0;box-shadow:none}
.summit-meeting .program-archive{border-top:0;box-shadow:none}
.nagoya-next-booking{max-width:520px;margin:24px auto 0;text-align:center}
.nagoya-next-booking[hidden]{display:none}
.nagoya-next-booking button{width:100%;min-height:58px;background:var(--city-action);color:#fff;border:1px solid var(--city-action);font:700 19px/1.6 "Zen Kaku Gothic New",sans-serif;padding:14px 20px;cursor:pointer}
.nagoya-next-booking button:disabled{background:var(--city-disabled);border-color:var(--city-disabled);cursor:not-allowed}
.nagoya-next-booking button:focus-visible{outline:3px solid var(--city-ink);outline-offset:4px}
.summit-meeting .nagoya-next-booking p{font-size:16px;margin-top:10px;line-height:1.7}

/* Four editorial notes, arranged at alternating heights. */
.summit-meeting .program-audience{background:#fff;padding-block:96px}
.summit-meeting .program-audience .nagoya-section-heading{margin-bottom:44px}
.summit-meeting .nagoya-audience-grid{gap:28px 36px;padding-bottom:24px;counter-reset:audience}
.summit-meeting .nagoya-audience-grid article{counter-increment:audience;border:0;border-left:2px solid var(--city-accent);padding:34px 34px 30px 42px;background:var(--city-wash);position:relative;overflow:hidden;min-height:240px}
.summit-meeting .nagoya-audience-grid article:nth-child(even){transform:translateY(24px);background:var(--city-tint);border-left-color:var(--city-accent)}
.nagoya-audience-grid article:after{content:"0" counter(audience);position:absolute;right:16px;top:2px;font:300 100px/1 "Jost",sans-serif;color:rgba(var(--city-shadow-rgb),.07);pointer-events:none}
.summit-meeting .nagoya-card-index{font-size:14px;letter-spacing:.2em;padding-bottom:16px;border-bottom:1px solid var(--city-line);margin-bottom:20px;max-width:210px}
.summit-meeting .nagoya-audience-grid h3{font-size:28px;position:relative}
.summit-meeting .nagoya-audience-grid p{position:relative}

/* A orange program board with the keynote picked out in warm paper. */
.summit-meeting .program-schedule{background:var(--city-base);border-bottom:0;padding-block:90px;color:#fff}
.summit-meeting .program-schedule .nagoya-section-heading h2{color:#fff}
.summit-meeting .program-schedule .nagoya-section-heading .program-kicker{color:var(--city-on-base-accent)}
.summit-meeting .program-schedule .nagoya-section-heading>p:not(.program-kicker){color:var(--city-on-base-soft)}
.summit-meeting .nagoya-timeline:before{background:var(--city-line-on-base)}
.summit-meeting .nagoya-timeline li:before{background:var(--city-base);border-color:var(--city-line-on-base)}
.summit-meeting .nagoya-timeline-time{color:var(--city-on-base-accent)}
.summit-meeting .nagoya-timeline-time span{color:var(--city-on-base-soft)}
.summit-meeting .nagoya-timeline-body{background:rgba(0,0,0,.025);border:0;border-bottom:1px solid var(--city-line-on-base);padding-block:25px}
.summit-meeting .nagoya-timeline h3{color:#fff}
.summit-meeting .nagoya-timeline p{color:var(--city-on-base-soft)}
.summit-meeting .nagoya-timeline-featured .nagoya-timeline-body{background:var(--city-highlight);border-bottom:0;box-shadow:0 12px 26px rgba(var(--city-shadow-rgb),.2)}
.summit-meeting .nagoya-timeline-featured h3{color:#352c20}
.summit-meeting .nagoya-timeline-featured p{color:#60533e}
.summit-meeting .program-schedule .program-wrap>.program-panel{margin-top:46px;padding:28px 34px;background:transparent;border:1px solid var(--city-line-on-base);border-left:4px solid var(--city-line-on-base)}
.summit-meeting .program-schedule .program-wrap>.program-panel h3{color:var(--city-on-base-soft);font-size:27px}
.summit-meeting .program-schedule .program-wrap>.program-panel p{color:var(--city-on-base-soft)}
.summit-meeting .program-schedule .program-wrap>.program-panel .nagoya-afterparty-time{color:var(--city-on-base-accent)}

/* Topics read as an index rather than another set of cards. */
.summit-meeting .nagoya-topics{background:var(--city-wash);padding-block:90px}
.summit-meeting .program-main .nagoya-topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 50px;counter-reset:topics;max-width:1080px}
.summit-meeting .nagoya-topic-list li{counter-increment:topics;display:flex;align-items:baseline;gap:20px;width:auto;padding:24px 0;background:none;border:0;border-bottom:1px solid var(--city-line);border-radius:0;min-width:0}
.nagoya-topic-list li:before{content:"0" counter(topics);font:400 26px/1.3 "Jost",sans-serif;color:var(--city-ink);flex-shrink:0}
.nagoya-topic-list li:last-child{grid-column:1/-1}
.nagoya-topic-list li>span{font-size:20px;line-height:1.8}

/* Participation notes resemble an information sheet. */
.summit-meeting .program-rules{background:var(--city-tint);padding-block:78px;border-bottom:0}
.summit-meeting .program-rules .program-grid{gap:36px;align-items:start}
.summit-meeting .program-rules .program-list{font-size:17px;line-height:1.9}
.summit-meeting .program-rules .program-grid>.program-panel{background:#fff;border:1px solid var(--city-line);border-top:4px solid var(--city-accent);padding:30px 26px;box-shadow:0 8px 22px rgba(var(--city-shadow-rgb),.03)}
.summit-meeting .program-rules .program-grid>.program-panel .program-list>li{padding-block:16px;border-bottom:1px solid var(--city-tint);margin:0}
.summit-meeting .program-rules .program-grid>.program-panel .program-list>li:last-child{border-bottom:0}
.summit-meeting .program-rules .program-grid>.program-panel .program-list>li:before{top:calc(16px + .84em)}
.summit-meeting .program-rules .program-grid>.program-panel .program-label{color:var(--city-ink)}
.summit-meeting .program-rules .program-grid>.program-stack{padding:0 8px}
.summit-meeting .program-rules .program-stack .program-panel{border-top:1px solid var(--city-line);padding:26px 0}
.summit-meeting .program-rules .program-stack .program-card-title{font-size:24px;color:var(--city-ink)}

/* Venue information is anchored by a framed map. */
.summit-meeting .program-access{background:#fff;padding-block:84px}
.summit-meeting .program-access .program-section-heading{margin-bottom:34px;padding-left:22px;border-left:4px solid var(--city-accent)}
.summit-meeting .program-access .program-section-title{margin:0}
.summit-meeting .program-access .program-grid{gap:42px;align-items:stretch}
.summit-meeting .program-access .program-grid>div:first-child{padding:32px;background:var(--city-wash)}
.summit-meeting .program-access .program-grid>div:first-child>.program-card-title{font-size:30px;margin-bottom:20px}
.summit-meeting .program-access .program-grid>.program-panel{border:1px solid var(--city-line);padding:10px;background:#fff}
.summit-meeting .program-access .program-map{height:100%;min-height:350px}
.summit-meeting .program-access .program-text-link{display:inline-block;margin-top:24px}

/* A compact split FAQ, followed by a orange closing panel. */
.summit-meeting .program-faq-section{background:var(--city-wash);padding-block:80px}
.summit-meeting .program-faq-section>.program-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}
.summit-meeting .program-faq-section .program-section-heading{margin:0}
.summit-meeting .program-faq-section .program-section-title{font-size:32px;line-height:1.7}
.summit-meeting .program-faq-section .program-stack{counter-reset:questions}
.summit-meeting .program-faq-section .program-faq{counter-increment:questions;border-bottom:1px solid var(--city-line)}
.summit-meeting .program-faq-section .program-faq+.program-faq{margin-top:0}
.summit-meeting .program-faq-section .program-question{padding:23px 0;align-items:center}
.summit-meeting .program-faq-section .program-question h3{display:flex;align-items:baseline;gap:14px;font-size:18px;line-height:1.7}
.summit-meeting .program-faq-section .program-question h3:before{content:"Q" counter(questions);font:500 20px/1.4 "Jost",sans-serif;color:var(--city-ink);flex-shrink:0}
.summit-meeting .program-faq-section .program-faq[open]{background:#fff;padding-inline:18px}
.summit-meeting .program-main .program-cta{position:relative;background:var(--city-base);color:#fff;padding-block:90px;border-block:6px solid var(--city-line)}
.summit-meeting .program-main .program-cta .program-section-title{color:#fff}
.summit-meeting .program-main .program-cta p{color:var(--city-on-base-soft)}
.summit-meeting .program-main .program-cta .button--primary{background:var(--city-highlight);color:#594325;border-color:var(--city-highlight)}
.summit-meeting .program-main .program-cta .button--secondary{color:#fff;background:transparent;border-color:var(--city-line-on-base)}
.summit-meeting .program-main .program-cta .button--primary:hover{background:#fff}
.summit-meeting .program-main .program-cta .button--secondary:hover{background:var(--city-hover)}

@media(max-width:760px){
 .summit-meeting .nagoya-booking .nagoya-booking-time{flex-direction:column;align-items:center;gap:0}
 .nagoya-time-label{font-size:16px}
 .summit-meeting .program-audience{padding-block:54px}
 .summit-meeting .nagoya-audience-grid{gap:18px;padding-bottom:0}
 .summit-meeting .nagoya-audience-grid article{min-height:0;padding:28px 24px;transform:none}
 .summit-meeting .nagoya-audience-grid article:nth-child(even){transform:none}
 .nagoya-audience-grid article:after{font-size:84px;right:12px}
 .summit-meeting .nagoya-audience-grid h3{font-size:25px}
 .summit-meeting .program-schedule{padding-block:58px}
 .summit-meeting .nagoya-timeline-body{padding:21px 14px}
 .summit-meeting .program-schedule .program-wrap>.program-panel{padding:24px 22px;margin-top:32px}
 .summit-meeting .nagoya-topics{padding-block:54px}
 .summit-meeting .program-main .nagoya-topic-list{grid-template-columns:1fr;gap:0}
 .summit-meeting .nagoya-topic-list li{padding-block:21px;gap:18px}
 .nagoya-topic-list li>span{font-size:18px}
 .nagoya-topic-list li:before{font-size:24px}
 .summit-meeting .program-rules{padding-block:48px}
 .summit-meeting .program-rules .program-grid{gap:26px}
 .summit-meeting .program-rules .program-grid>.program-panel{padding:26px 18px}
 .summit-meeting .program-rules .program-grid>.program-stack{padding:0 4px}
 .summit-meeting .program-access{padding-block:52px}
 .summit-meeting .program-access .program-grid{gap:24px}
 .summit-meeting .program-access .program-grid>div:first-child{padding:26px}
 .summit-meeting .program-access .program-map{min-height:290px}
 .summit-meeting .program-faq-section{padding-block:50px}
 .summit-meeting .program-faq-section>.program-wrap{grid-template-columns:1fr;gap:10px}
 .summit-meeting .program-faq-section .program-section-title{font-size:29px}
 .summit-meeting .program-faq-section .program-question h3{font-size:17px;gap:10px}
 .summit-meeting .program-main .program-cta{padding-block:58px}
}

/* Lecturer profile between the meeting introduction and archive. */
.summit-meeting .nagoya-speaker{background:var(--city-wash);border:0;padding-block:36px 42px}
.summit-meeting .nagoya-speaker .nagoya-section-heading{margin-bottom:28px}
.summit-meeting #nagoya-speaker-title{display:flex;align-items:center;justify-content:center;gap:24px;max-width:900px;margin:0 auto;font-size:28px;white-space:nowrap}
.summit-meeting #nagoya-speaker-title:before,.summit-meeting #nagoya-speaker-title:after{content:"";display:block;position:static;flex:1;height:1px;background:var(--city-line);transform:none}
.nagoya-speaker-card{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:900px;margin:auto;background:#fff;border:1px solid var(--city-line);box-shadow:0 12px 32px rgba(var(--city-shadow-rgb),.04)}
.nagoya-speaker-photo{padding:26px 0 26px 26px;align-self:center}
.nagoya-speaker-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.nagoya-speaker-bio{padding:34px 38px}
.summit-meeting .nagoya-speaker-bio .nagoya-speaker-role{font-size:15px;color:var(--city-ink);letter-spacing:.12em;margin:0 0 10px}
.summit-meeting .nagoya-speaker-bio h3{font-size:34px;line-height:1.4;margin:0 0 18px}
.nagoya-speaker-bio h3 span{display:block;font:400 14px/1.8 "Jost",sans-serif;letter-spacing:.14em;color:var(--city-muted);margin-top:4px}
.summit-meeting .nagoya-speaker-bio .nagoya-speaker-specialty{font-size:19px;font-weight:700;line-height:1.7;color:var(--city-base);margin:0 0 12px}
.summit-meeting .nagoya-speaker-bio>p{font-size:18px;line-height:1.9;margin:0 0 20px;text-align:left}
.nagoya-speaker-link{display:inline-block;color:var(--city-action);font-size:16px;line-height:1.7;text-decoration:underline;text-underline-offset:5px}
.nagoya-speaker-link:focus-visible{outline:2px solid var(--city-action);outline-offset:5px}
@media(max-width:760px){
 .summit-meeting .nagoya-speaker{padding-block:28px 32px}
 .summit-meeting #nagoya-speaker-title{font-size:24px;gap:18px}
 .nagoya-speaker-card{grid-template-columns:1fr}
 .nagoya-speaker-photo{padding:24px 24px 0;width:min(100%,280px);box-sizing:border-box;margin:auto}
 .nagoya-speaker-bio{padding:24px}
 .summit-meeting .nagoya-speaker-bio h3{font-size:30px}
}

/* The three confirmed steps from payment to arrival. */
.summit-meeting .nagoya-booking-flow{background:#fff;padding-block:64px;border:0}
.nagoya-flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0 0;padding:0;list-style:none}
.nagoya-flow-steps li{padding:28px;background:var(--city-wash);border-top:3px solid var(--city-accent);min-width:0}
.nagoya-flow-number{display:block;font:400 30px/1.2 "Jost",sans-serif;color:var(--city-ink);margin-bottom:16px}
.summit-meeting .nagoya-flow-steps h3{font-size:24px;margin:0 0 14px}
.summit-meeting .nagoya-flow-steps p{font-size:18px;line-height:1.85;margin:0}
.summit-meeting .nagoya-flow-help{margin-top:24px;text-align:center}
.nagoya-flow-help a,.program-rules .program-note a{color:var(--city-ink);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
@media(max-width:760px){
 .summit-meeting .nagoya-booking-flow{padding-block:44px}
 .nagoya-flow-steps{grid-template-columns:1fr;gap:16px;margin-top:24px}
 .nagoya-flow-steps li{padding:24px}
 .summit-meeting .nagoya-flow-help{text-align:left}
}
