.header-inner{gap:1.5rem}.locale-switch{display:flex;gap:.45rem;align-items:center;font-size:.8rem;white-space:nowrap}.locale-switch a{padding:.25rem .35rem}.locale-switch [aria-current]{border-bottom:1px solid var(--gold);color:var(--navy)}.signin{margin-left:0}.market-observation{margin-top:1rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.85rem 0}.market-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.8rem;color:var(--muted)}.market-heading strong{font-weight:500;color:var(--navy)}.market-scroll{display:flex;overflow-x:auto;gap:0;scrollbar-width:thin;margin-top:.6rem;scroll-snap-type:x proximity}.quote{flex:1 0 10.5rem;padding:.35rem 1rem .4rem 0;margin-right:1rem;border-right:1px solid var(--line);background:none;text-align:left;color:var(--ink);border-top:0;border-bottom:0;border-left:0;scroll-snap-align:start}.quote:last-child{border-right:0;margin-right:0}.quote-name{font-size:.72rem;color:var(--muted)}.quote-value{font:1.15rem var(--latin);color:var(--navy);display:inline-block;margin:.25rem .5rem .25rem 0}.quote-change{font-size:.7rem;color:var(--muted)}.quote-date{font-size:.65rem;color:var(--muted)}.quote svg{width:3.2rem;height:1.2rem;vertical-align:middle}.quote:hover .quote-name{color:var(--navy)}.region-filters{display:flex;gap:.45rem;flex-wrap:wrap;margin:1rem 0}.region-pill{font-size:.67rem;display:inline-block;border:1px solid var(--line);border-radius:2px;padding:.04rem .35rem;margin-right:.4rem;color:var(--navy)}.calendar-inline-filters .chip{font-size:.7rem;padding:.18rem .5rem}.event-main{min-width:0;flex:1}.event-source{font-size:.72rem;text-decoration:underline;text-underline-offset:3px;color:var(--muted)}.market-modal{width:min(65rem,94vw)}.market-table-wrap{overflow-x:auto}.market-table{width:100%;border-collapse:collapse;font-size:.85rem;white-space:nowrap}.market-table th{text-align:left;font-weight:500;color:var(--muted);font-size:.75rem;padding:.6rem .75rem;border-bottom:1px solid var(--line)}.market-table td{padding:.9rem .75rem;border-bottom:1px solid var(--line)}.market-table button{background:none;border:0;padding:0;text-align:left;color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}.history-chart{width:100%;height:13rem;background:#f2f0e966;margin:1rem 0}.history-summary{display:flex;gap:1.5rem;align-items:baseline;flex-wrap:wrap}.history-summary strong{font:2rem var(--latin);color:var(--navy)}.fine-note{font-size:.8rem;color:var(--muted);line-height:1.8}.detail-shell{max-width:72rem;margin:2rem auto 0;display:grid;grid-template-columns:minmax(0,1fr) 15rem;gap:3.5rem}.detail-main{min-width:0}.detail-main h1{font:normal 2.15rem/1.55 var(--serif);color:var(--navy);margin:1rem 0}.detail-body{font:1.05rem/1.95 var(--serif)}.detail-body p{margin:1rem 0}.detail-body h2{font:500 1.2rem/1.65 var(--serif);margin:2rem 0 .75rem;color:var(--navy)}.article-aside{font-size:.8rem;align-self:start;position:sticky;top:1.5rem;padding-top:2rem}.article-aside h2{font-size:.85rem;font-weight:500;color:var(--navy)}.article-aside a{display:block;padding:.45rem 0;color:var(--muted);line-height:1.65}.language-note{font-size:.78rem;border-left:2px solid var(--gold);padding:.6rem .85rem;background:#f2f0e9;margin:1rem 0;color:var(--muted)}.language-versions{display:flex;gap:.5rem;margin:1rem 0;align-items:center;flex-wrap:wrap}.language-versions a{font-size:.8rem;border:1px solid var(--line);padding:.25rem .7rem}.language-versions [aria-current]{background:var(--navy);color:var(--ivory)}.related-block{border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem}.related-block h2{font:normal 1.2rem var(--serif);color:var(--navy)}.detail-footer{margin-top:2rem;border-top:1px solid var(--line);padding-top:1rem}.pref-field{display:grid;gap:.4rem;margin:1.3rem 0}.pref-field select{font:inherit;background:white;color:var(--ink);border:1px solid var(--line);padding:.6rem .8rem;max-width:100%}.pref-preview{border-top:1px solid var(--line);padding-top:1rem;margin-top:1.3rem}.pref-preview a{display:block;color:var(--navy);margin:.5rem 0}.market-empty{color:var(--muted)}.history-axis{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}.card-languages{font-size:.72rem;color:var(--muted);margin-left:.5rem}.article-card a.card-read{position:relative}.article-card{cursor:default}.article-card:hover{transform:none}.topic-links{display:flex;flex-wrap:wrap;gap:.5rem}.topic-links a{border:1px solid var(--line);padding:.25rem .55rem;font-size:.8rem}.topic-heading{margin:2rem 0;font:normal 2rem var(--serif);color:var(--navy)}.footer-links button{white-space:nowrap}.refresh-status{font-size:.75rem;margin:.5rem 0;color:var(--muted)}.manual-refresh{background:none;border:0;border-bottom:1px solid var(--gold);padding:0;font-size:.8rem;color:var(--navy)}
html[lang=en] .hero-slide h2{font-family:var(--latin);font-size:2.3rem;line-height:1.3;letter-spacing:0}html[lang=en] .hero-slide .hero-subtitle{letter-spacing:0}html[lang=en] .bubble{font-size:.8rem;padding:.6rem;line-height:1.4}html[lang=en] .card-title{font-family:var(--latin);line-height:1.35}html[lang=en] .detail-main h1{font-family:var(--latin);line-height:1.3}html[lang=en] .detail-body{font-family:var(--latin);font-size:1.05rem;line-height:1.95}html[lang=en] .hero-summary{max-width:37rem}html[lang=en] .brand-caption{letter-spacing:.12em}
@media(max-width:1050px){.header-inner{gap:1rem}.nav{gap:1.2rem}.detail-shell{gap:2rem;grid-template-columns:minmax(0,1fr) 12rem}html[lang=en] .nav{font-size:.78rem;gap:1rem}}
@media(max-width:700px){.header-inner{gap:.65rem;flex-wrap:wrap}.brand-name{font-size:1.18rem}.brand-caption{font-size:.54rem}.brand img{width:1.9rem;height:1.9rem}.brand{gap:.5rem}.locale-switch{font-size:.73rem;margin-left:auto}.mobile-menu{margin-left:0;font-size:.8rem}.signin{display:none}.nav.open{flex-wrap:wrap;justify-content:flex-start;gap:.7rem 1.2rem}.nav.open .mobile-prefs{display:block}.market-heading{font-size:.75rem}.quote{flex-basis:9.4rem}.quote-value{font-size:1.1rem}.quote-date{font-size:.68rem}.detail-shell{display:block;margin-top:1.25rem}.detail-main h1{font-size:1.55rem}.detail-body{font-size:1rem;line-height:1.95}.article-aside{position:static;border-top:1px solid var(--line);padding-top:1rem;margin-top:2rem}.article-aside .toc{display:none}.detail-body h2{font-size:1.12rem}.history-chart{height:10rem}.market-modal .modal-inner{padding:1rem}.market-table td,.market-table th{padding:.7rem .5rem}.calendar-inline-filters{gap:.3rem}.region-filters .chip{font-size:.75rem}.card-languages{display:inline-block;margin-left:0}.section-heading .sub-label{display:none}html[lang=en] .hero-slide h2{font-size:1.7rem}html[lang=en] .hero-slide h1{font-size:2.3rem}html[lang=en] .detail-main h1{font-size:1.7rem}.hero-slide{min-height:19.8rem}.hero.carousel{min-height:19.8rem}.bubble{max-width:calc(50% - .8rem)}.footer-links{gap:.9rem}.event-title{font-size:.9rem}}
@media(min-width:701px){.mobile-prefs{display:none}}
.quote-change{white-space:nowrap;display:inline-block;font-variant-numeric:tabular-nums}.quote-value{font-variant-numeric:tabular-nums}.market-table td{font-variant-numeric:tabular-nums}
@media(max-width:360px){.brand-name{font-size:1.05rem}.brand-caption{font-size:.48rem}.header-inner{gap:.35rem}.locale-switch{gap:.1rem}.mobile-menu{padding:.3rem}.hero-slide,.hero.carousel{min-height:21.5rem}.bubble{font-size:.78rem}html[lang=en] .hero-slide h2{font-size:1.55rem}}

/* Flow layout accommodates new research tags; diameter scales with sqrt(count). */
#bubbles{display:flex;flex-wrap:wrap;align-content:center;align-items:center;justify-content:center;gap:.7rem;min-height:19rem;padding:1rem 0}#bubbles .bubble{position:relative;inset:auto;transform:none;width:var(--bubble-size);height:var(--bubble-size);flex:0 0 auto;max-width:none;padding:.6rem;font-size:.8rem;line-height:1.4}#bubbles .bubble:nth-child(n+5){background:#e8e5db;border:1px solid #c5a05a88;color:var(--navy)}@media(max-width:700px){#bubbles .bubble{width:calc(var(--bubble-size)*.9);height:calc(var(--bubble-size)*.9)}}

/* Lining numerals keep each digit level; fixed rows align quotes with and without history. */
.quote{display:grid;grid-template-rows:1.3rem 2rem 1.2rem;flex-basis:12rem;align-content:start}.quote-name,.quote-date{white-space:nowrap}.quote-metrics{display:flex;align-items:center;gap:.35rem;white-space:nowrap}.quote-value{font-family:var(--sans);font-weight:400;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;line-height:1.25;margin:0;flex-shrink:0}.quote-trend{display:flex;align-items:center;width:2.4rem;flex:0 0 2.4rem}.quote-trend svg{display:block;width:100%;height:1.15rem}.quote-change{line-height:1.25;font-variant-numeric:lining-nums tabular-nums;flex-shrink:0}.history-summary strong{font-family:var(--sans);font-variant-numeric:lining-nums tabular-nums}.market-heading{flex-wrap:wrap}.market-heading strong{white-space:nowrap}
@media(max-width:700px){.quote{flex-basis:11.75rem}.market-heading{gap:.4rem .75rem}}

/* Two centered market headings share one restrained type style. */
.market-observation{font-family:var(--sans)}.market-groups{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr);gap:1.4rem}.market-group{min-width:0}.market-group+.market-group{border-left:1px solid var(--line);padding-left:1.4rem}.market-group-title{margin:0;text-align:center;font-family:var(--sans);font-size:.8rem;font-weight:500;line-height:1.6;letter-spacing:.04em;color:var(--navy)}.market-group .quote{flex:1 0 9rem;margin-right:.65rem;padding-right:.65rem;grid-template-rows:1.25rem 1.8rem 1.15rem}.market-group .quote:last-child{margin-right:0;padding-right:0}.market-group .quote-value{font-size:1rem;font-weight:300;line-height:1.25}.market-group .quote-trend{width:1.5rem;flex-basis:1.5rem}.market-group .quote-change{font-size:.65rem}.market-group .quote-metrics{gap:.25rem}.market-tools{display:flex;justify-content:flex-end;margin-top:.45rem}.market-tools .section-link{font-size:.7rem}
@media(max-width:900px){.market-groups{grid-template-columns:1fr;gap:.8rem}.market-group+.market-group{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:.8rem}.market-group .quote{flex-basis:9.5rem}}

/* Text-first research cards keep a growing archive compact. */
.article-grid.text-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem 2.8rem}
.article-grid.text-grid .article-card.text-card{display:block;grid-column:auto;border:0;border-bottom:1px solid var(--line);background:none;overflow:visible;min-width:0}
.article-grid.text-grid .text-card .card-content{padding:.35rem 0 1.1rem;align-self:stretch}
.card-category{font-size:.76rem;font-weight:500;letter-spacing:.025em;color:#8a734f;margin-bottom:.8rem}
.article-grid.text-grid .text-card .card-title{font:600 1.18rem/1.65 var(--serif);letter-spacing:.015em;margin:0 0 .7rem;min-height:3.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.article-grid.text-grid .text-card .card-title[lang=en]{font-family:var(--latin);letter-spacing:0}
.text-card .card-title a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.25rem}
.text-card .card-summary{font:.9rem/1.8 var(--sans);margin:0;min-height:4.86rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#71777b}
.card-meta{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-top:1.1rem;font-size:.72rem;color:#8a734f;font-variant-numeric:lining-nums tabular-nums}
.card-language-note{font-size:.65rem;color:var(--muted)}
.article-list-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.15rem}.article-list-footer .archive-note{margin:0}.article-list-footer .section-link{font-size:.78rem}
.research-archive{padding-top:2.3rem;max-width:74rem;margin:auto}.archive-heading{position:relative;margin-bottom:1.8rem}.archive-eyebrow{font-size:.7rem;color:#8a734f;letter-spacing:.14em;margin:0 0 .3rem}.archive-heading h1{font:normal 1.9rem var(--serif);color:var(--navy);margin:0}.archive-heading .section-link{position:absolute;right:0;bottom:.25rem;font-size:.78rem}
.archive-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:1.1rem;padding:.85rem 0;border-top:1px solid var(--navy);border-bottom:1px solid var(--line)}
.archive-toolbar>label:not(.search){display:flex;align-items:center;gap:.55rem;color:var(--muted);font-size:.78rem}.archive-toolbar select{font:inherit;background:transparent;border:0;color:var(--navy);padding:.35rem .3rem;max-width:12rem;cursor:pointer}.archive-toolbar .search{margin:0 0 0 auto;padding:.3rem 0;max-width:18rem;min-width:10rem}.archive-toolbar .search input{font-size:.8rem}.archive-toolbar select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.research-archive #resultCount{margin:.8rem 0 0;font-size:.72rem}
.article-grid.text-grid.archive-list{display:grid;grid-template-columns:1fr;gap:0;margin-top:.5rem}
.archive-list .text-card .card-content{position:relative;padding:1.25rem 9rem 1.25rem 0}
.archive-list .text-card .card-category{margin-bottom:.25rem;font-size:.72rem}
.article-grid.text-grid.archive-list .text-card .card-title{font-size:1.13rem;line-height:1.6;min-height:0;margin:0 0 .3rem;-webkit-line-clamp:2}
.archive-list .text-card .card-summary{min-height:0;font-size:.84rem;-webkit-line-clamp:2}
.archive-list .card-meta{position:absolute;right:0;top:1.25rem;margin:0;flex-direction:column;align-items:flex-end;gap:.2rem}
.article-pagination{display:flex;gap:.6rem;align-items:center;justify-content:center;flex-wrap:wrap;margin:1.7rem 0;font-size:.8rem}.article-pagination:empty{display:none}.article-pagination a{padding:.25rem .65rem;border:1px solid var(--line)}.article-pagination a[aria-current=page]{background:var(--navy);color:var(--ivory);border-color:var(--navy)}.article-pagination a:hover{border-color:var(--gold)}
@media(max-width:1050px){.article-grid.text-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 2rem}.archive-toolbar{gap:.6rem 1rem}.archive-toolbar .search{max-width:15rem}}
@media(max-width:700px){.article-grid.text-grid{grid-template-columns:1fr;gap:1.15rem}.article-grid.text-grid .text-card .card-content{padding:.25rem 0 1rem}.article-grid.text-grid .text-card .card-title{font-size:1.13rem;min-height:0;margin-bottom:.5rem}.text-card .card-category{margin-bottom:.55rem}.text-card .card-summary{font-size:.86rem;min-height:0}.card-meta{margin-top:.8rem}.research-archive{padding-top:1.6rem}.archive-heading{margin-bottom:1.25rem}.archive-heading h1{font-size:1.55rem}.archive-toolbar>label:not(.search){font-size:.74rem}.archive-toolbar select{max-width:11rem}.archive-toolbar .search{order:4;flex-basis:100%;max-width:none;min-width:0;margin-top:.3rem}.article-grid.text-grid.archive-list .text-card .card-content{padding:1rem 0}.archive-list .card-meta{position:static;flex-direction:row;align-items:baseline;margin-top:.65rem}.article-grid.text-grid.archive-list .text-card .card-title{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Calendar controls use the same subdued journal typography as the homepage. */
.lower .section-head{flex-wrap:wrap;gap:.6rem 1rem}.lower .section-heading .sub-label{font:normal .64rem var(--sans);letter-spacing:.07em;margin-left:.65rem}
.homepage-calendar-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .7rem;justify-content:space-between;margin:.6rem 0}.homepage-calendar-controls .region-filters{margin:0}
.calendar-zone-label{display:flex;align-items:center;gap:.4rem;font-size:.7rem;color:var(--muted);white-space:nowrap}.calendar-zone-label select{font:inherit;background:transparent;color:var(--navy);border:1px solid var(--line);padding:.25rem .35rem;max-width:14rem}.calendar-zone-label select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.calendar-modal{width:min(80rem,96vw)}.calendar-modal .modal-inner{padding:1.6rem 2rem}.calendar-modal .reader-title{margin:.8rem 0 .35rem}.calendar-widget{margin:1.2rem 0}.calendar-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.calendar-view-switch{display:flex;border:1px solid var(--line)}.calendar-view-switch button{font-size:.8rem;background:transparent;border:0;color:var(--muted);padding:.35rem 1.1rem}.calendar-view-switch [aria-pressed=true]{background:var(--navy);color:var(--ivory)}
.calendar-region-filters{margin:.9rem 0}.calendar-month-tools{display:flex;align-items:center;gap:.7rem;border-top:1px solid var(--line);padding:.8rem 0}.calendar-month-tools h3{font:normal 1.25rem var(--serif);color:var(--navy);margin:0;min-width:8rem;text-align:center}.calendar-month-tools>button{background:transparent;border:1px solid var(--line);font-size:.85rem;padding:.2rem .65rem}.calendar-month-tools .calendar-this-month{margin-left:auto;font-size:.75rem}.calendar-month-layout{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:1.3rem}.calendar-grid-wrap{min-width:0}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;font-size:.72rem;color:var(--muted);padding:.5rem 0}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;border:1px solid var(--line);background:var(--line)}
.month-cell{background:var(--paper);border:0;padding:.45rem .5rem;min-width:0;min-height:6rem;text-align:left;color:var(--ink);font-size:.75rem;display:flex;flex-direction:column;gap:.5rem;transition:background .15s}.month-cell.outside{background:#efeee9}.month-cell.is-today .month-day-number{color:#99763e;font-weight:600}.month-cell[aria-pressed=true]{background:#e8edf0;box-shadow:inset 0 0 0 1px var(--navy)}.month-cell:hover{background:#f0eee7}.month-cell[aria-pressed=true]:hover{background:#e3e9ee}.month-day-number{font-variant-numeric:lining-nums tabular-nums;font-size:.78rem}.month-event-names{display:flex;flex-direction:column;gap:.3rem;min-width:0}.month-event-label{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.64rem;line-height:1.45;overflow-wrap:anywhere;color:var(--navy)}.month-event-label .calendar-region-dot{margin-right:.2rem;vertical-align:middle}.calendar-region-dot{display:inline-block;width:.32rem;height:.32rem;border-radius:50%;flex-shrink:0}.region-cn{background:#a9884b}.region-us{background:#183a56}.region-jp{background:#a76d70}.region-eu{background:#6d8e87}.month-more{font-size:.65rem;color:var(--muted)}.month-mobile-dots{display:none}
.calendar-day-details{min-width:0;align-self:start;background:#f3f1ea;padding:1rem 1.1rem;border-top:2px solid var(--gold)}.calendar-detail-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.calendar-detail-heading h3,.calendar-day-details>h3{font:normal 1.1rem var(--serif);margin:0;color:var(--navy)}.calendar-detail-heading>span{font-size:.65rem;color:var(--muted);white-space:nowrap}.calendar-day-details .event{align-items:flex-start;gap:.55rem;padding:.85rem 0}.calendar-day-details .event:last-child{border-bottom:0}.calendar-day-details .event-date{display:none}.calendar-day-details .event-title{font-size:.85rem;line-height:1.7}.calendar-day-details .event-meta{font-size:.68rem}.calendar-day-details .event-source{font-size:.7rem}.calendar-dual-time{display:grid;gap:.25rem;margin:.6rem 0}.calendar-dual-time>span{font-size:.68rem;color:var(--muted)}.calendar-dual-time strong{font-size:.75rem;font-weight:400;color:var(--navy);display:block;font-variant-numeric:lining-nums tabular-nums}.calendar-event-list .event{align-items:flex-start}.calendar-event-list .calendar-dual-time{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:32rem}.calendar-empty{padding:1rem 0}
@media(max-width:1050px){.calendar-month-layout{grid-template-columns:1fr}.calendar-day-details{margin-top:.25rem}.calendar-modal{width:min(60rem,96vw)}.calendar-day-details .calendar-dual-time{grid-template-columns:repeat(2,minmax(0,1fr));max-width:30rem}.month-cell{min-height:6.2rem}.lower .section-heading .sub-label{display:block;margin:.45rem 0 0 1.7rem}}
@media(max-width:700px){.lower .section-heading .sub-label{display:block;font-size:.6rem;margin:.4rem 0 0 1.6rem}.homepage-calendar-controls{gap:.6rem}.homepage-calendar-controls .calendar-zone-label{margin-left:auto}.calendar-modal .modal-inner{padding:1rem}.calendar-controls{gap:.7rem}.calendar-zone-label{font-size:.7rem}.calendar-zone-label select{max-width:11.5rem}.calendar-view-switch button{font-size:.75rem;padding:.3rem .8rem}.calendar-controls .calendar-zone-label{margin-left:auto}.calendar-region-filters{gap:.3rem}.calendar-region-filters .chip{font-size:.7rem;padding:.2rem .55rem}.calendar-month-tools{gap:.4rem}.calendar-month-tools h3{font-size:1.1rem;min-width:6.5rem}.calendar-month-tools>button{padding:.2rem .45rem}.calendar-month-layout{gap:.65rem}.calendar-weekdays{font-size:.67rem}.month-cell{min-height:3.45rem;padding:.35rem .2rem;gap:.45rem;align-items:center}.month-day-number{font-size:.76rem}.month-event-names{display:none}.month-mobile-dots{display:flex;gap:.2rem;flex-wrap:wrap;justify-content:center}.calendar-region-dot{width:.3rem;height:.3rem}.calendar-day-details{padding:.8rem .9rem}.calendar-day-details .calendar-dual-time,.calendar-event-list .calendar-dual-time{grid-template-columns:1fr;gap:.3rem}.calendar-detail-heading h3{font-size:1rem}.calendar-event-list .event-date{width:2.6rem;font-size:1.4rem}.calendar-modal .calendar-event-list .event-date{width:3.2rem}.calendar-event-list .event-title{font-size:.86rem}}
@media(prefers-reduced-motion:reduce){.month-cell{transition:none}}
.section-heading .sub-label{font:normal .64rem var(--sans);letter-spacing:.07em}

/* Supporting hints sit below headings; exploration links close each module. */
#network .section-head{margin-bottom:.55rem}#network .bubble-key{margin:0 0 .8rem;line-height:1.7}.module-footer{display:flex;justify-content:flex-start;margin-top:.85rem}.module-footer .section-link{font-size:.78rem}

/* Language is a control, separate from editorial navigation. */
.locale-switch{gap:.1rem;padding:.2rem;border:1px solid #15324e26;background:#f2f0e9;border-radius:999px;flex-shrink:0;font-size:.74rem}
.locale-icon{width:.95rem;height:.95rem;color:var(--muted);margin:0 .3rem}
.locale-switch a{padding:.2rem .5rem;border-radius:999px;min-width:2rem;text-align:center;color:var(--muted);line-height:1.45}
.locale-switch a:hover{color:var(--navy);background:#15324e0a}
.locale-switch [aria-current]{border-bottom:0;background:var(--navy);color:var(--ivory)}
.locale-switch [aria-current]:hover{background:var(--navy);color:var(--ivory)}
.lower{grid-template-columns:repeat(2,minmax(0,1fr))}.lower>.section{min-width:0}
.theme-index{margin-top:2.5rem}.theme-index .topic-heading{margin:.6rem 0}.theme-index-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem;margin-top:2rem}
.theme-entry{display:block;padding:1.5rem 0;border-top:1px solid var(--line)}.theme-entry-heading{display:flex;gap:1rem;justify-content:space-between;align-items:baseline}.theme-entry h2{font:600 1.2rem var(--serif);color:var(--navy);margin:0}.theme-entry-heading>span{font-size:.72rem;color:var(--muted);white-space:nowrap}.theme-entry p{font-size:.9rem;color:var(--muted);line-height:1.8}.theme-entry:hover h2{color:#947335}
@media(max-width:700px){.lower{grid-template-columns:1fr}.locale-switch{font-size:.68rem;padding:.15rem}.locale-icon{display:none}.locale-switch a{min-width:1.8rem;padding:.2rem .35rem}.theme-index-grid{grid-template-columns:1fr}.theme-index{margin-top:1.5rem}}
@media(max-width:360px){.locale-switch{font-size:.65rem;padding:.1rem}.locale-switch a{min-width:1.6rem;padding:.18rem .25rem}}

/* A restrained publication sign-off, with channels apart from site utilities. */
.footer-top{align-items:center;gap:2rem}.footer-identity{min-width:0}.footer-brand{display:inline-flex;align-items:center;gap:.7rem;font-size:1.5rem;line-height:1.2}.footer-brand img{width:2.2rem;height:2.2rem;border-radius:50%;flex-shrink:0}.footer-slogan{margin:.8rem 0 0;font:normal .86rem/1.8 var(--serif);color:var(--muted);letter-spacing:.06em}
.footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:1rem;font-size:.82rem}.footer-socials,.footer-utility{display:flex;align-items:center;flex-wrap:wrap;gap:1.3rem}.footer-socials{color:var(--navy)}.footer-utility{color:var(--muted);font-size:.75rem;gap:1.1rem}.footer-youtube{display:inline-flex;align-items:center;gap:.4rem}.footer-youtube svg{width:1.1rem;height:.825rem}.footer-links a:hover,.footer-links button:hover{color:#947335;border-bottom-color:transparent}.footer-links a:focus-visible,.footer-links button:focus-visible{outline-offset:4px}
@media(max-width:700px){.footer-top{flex-direction:column;align-items:flex-start;gap:1.7rem}.footer-brand{font-size:1.35rem;gap:.6rem}.footer-brand img{width:2rem;height:2rem}.footer-slogan{font-size:.82rem;margin-top:.65rem}.footer-links{align-items:flex-start;gap:.8rem}.footer-socials{gap:1.3rem}.footer-bottom{align-items:flex-start;flex-wrap:wrap;font-size:.65rem}}

/* Equal module endings keep the homepage balanced while the columns breathe. */
.lower{gap:4.5rem;align-items:stretch}.lower>.section{display:flex;flex-direction:column}
.lower .section-head{flex-shrink:0;margin-bottom:.55rem}.section-heading>a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.25rem}
#bubbles{border-bottom:0;flex:1}#network .bubble-key{margin:.85rem 0;line-height:1.7;text-align:left}
#calendar .events{flex:1}#calendar .calendar-note{margin:.85rem 0;line-height:1.7}
.lower .module-footer{border-top:1px solid var(--line);margin:0;padding-top:.85rem}
.article-list-footer{justify-content:flex-start}
.article-grid.text-grid.archive-grid{margin-top:1.5rem}.pagination-disabled{font-size:.75rem;color:#9ba0a2;padding:.25rem .65rem}
.footer-bottom{border-top:0;margin-top:1.75rem;padding-top:0}.footer-contact{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:1rem;color:var(--muted);font-size:.72rem}
.email-button{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);background:transparent;color:var(--navy);font-size:.72rem;padding:.3rem .6rem}.email-button svg{width:.9rem;height:.675rem}.email-button:disabled{opacity:.5}
.about-page{max-width:48rem;margin:3rem auto}.about-page h1{font:normal 2rem/1.5 var(--serif);color:var(--navy);margin:.5rem 0}.about-motto{font:normal 1rem/1.8 var(--serif);color:#947335;margin:.75rem 0 2rem}.about-page .detail-body h2{margin-top:2.2rem}
@media(max-width:1050px){.lower{gap:2.75rem}.signin{font-size:.78rem;padding:.45rem .7rem}.header-inner{gap:1rem}}
@media(max-width:700px){.lower{gap:2rem}.lower>.section{display:block}#bubbles{min-height:19rem}#network .bubble-key{margin:.65rem 0}.header-inner{gap:.65rem}.about-page{margin:1.5rem auto}.about-page h1{font-size:1.6rem}.footer-contact{font-size:.7rem}.footer-bottom{margin-top:1.5rem}}
@media(max-width:360px){.header-inner{gap:.35rem}}

/* Phones use a readable event list; desktop retains the saved calendar view. */
@media(max-width:700px){.calendar-widget .calendar-view-switch,.calendar-widget [data-calendar-month-panel]{display:none}.calendar-controls{justify-content:flex-end}.calendar-event-list .event{padding:1rem 0}.calendar-event-list .event-main{min-width:0}}

/* Georgia bold is optically heavier than the Chinese title face. */
.article-grid.text-grid .text-card .card-title[lang=en]{font-weight:500}

/* Homepage topics occupy a fixed canvas rather than extending the calendar. */
.article-list-footer{justify-content:flex-end}
.article-list-footer:has(.home-pagination){display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:1.7rem}
.home-pagination{grid-column:2;margin:0}
.article-list-footer:has(.home-pagination) .section-link{grid-column:3;justify-self:end;white-space:nowrap}
@media(max-width:700px){.article-list-footer:has(.home-pagination){display:flex;flex-direction:column;gap:1.1rem}.home-pagination{align-self:center}.article-list-footer:has(.home-pagination) .section-link{align-self:flex-end}}
#bubbles{position:relative;height:22rem;min-height:0;max-height:22rem;flex:0 0 22rem;padding:0;gap:.6rem;overflow:visible}
#bubbles .bubble{width:5rem;height:5rem;aspect-ratio:1;flex:0 0 auto;transition:box-shadow .18s ease,transform .18s ease;font-size:.78rem}
#bubbles .bubble[hidden]{display:none}
#bubbles.is-packed .bubble{position:absolute;inset:auto;transform:translate(-50%,-50%);margin:0;max-width:none}
#bubbles .bubble span{max-width:95%;overflow-wrap:anywhere;hyphens:auto;text-wrap:balance;line-height:1.45}
#bubbles .bubble small{font-size:.7rem;margin-top:.35rem}
#bubbles.is-packed .bubble:hover,#bubbles.is-packed .bubble:focus-visible{transform:translate(-50%,-50%) scale(1.035);z-index:1;box-shadow:0 4px 18px #15324e18}
#network .bubble-key{margin-top:auto;padding-top:.85rem}
@media(max-width:700px){#bubbles{height:21rem;min-height:0;max-height:21rem;flex-basis:21rem}#bubbles .bubble:nth-child(n+7){display:none}#network .bubble-key{padding-top:0}}
@media(prefers-reduced-motion:reduce){#bubbles .bubble{transition:none}#bubbles.is-packed .bubble:hover,#bubbles.is-packed .bubble:focus-visible{transform:translate(-50%,-50%)}}

/* Sharing sits beside article language choices and opens a compact panel. */
.article-share-trigger{margin-left:auto;display:inline-flex;align-items:center;gap:.45rem;background:transparent;border:1px solid #15324e38;border-radius:2px;color:var(--navy);font:400 .8rem/1.5 var(--sans);padding:.35rem .7rem;cursor:pointer;white-space:nowrap}
.article-share-trigger svg{width:.95rem;height:.95rem;stroke:currentColor;fill:none;stroke-width:1.5;flex-shrink:0}
.article-share-trigger:hover{border-color:var(--gold);background:#eae6dc55}
.article-share-trigger span{color:#947335}
.article-share-trigger:focus-visible,.share-link:focus-visible,.share-download:focus-visible{outline:2px solid var(--navy);outline-offset:4px}
.article-share-modal{width:min(43rem,94vw)}
.share-heading{font:normal 1.55rem/1.5 var(--serif);color:var(--navy);margin:1.2rem 0 .5rem}
.share-article-title{font:.9rem/1.65 var(--serif);color:var(--muted);margin:.5rem 0 1.2rem}
.share-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0 .65rem}
.share-link{border:1px solid var(--line);border-radius:2px;background:transparent;padding:.45rem .8rem;font:400 .75rem/1.4 var(--sans);color:var(--navy);text-decoration:none}
.share-link:hover:not(:disabled),.share-link[aria-pressed=true]{border-color:var(--gold);background:#eae6dc55}
.share-link:disabled{color:var(--muted);opacity:.6;cursor:default}
.share-link[hidden],.share-manual[hidden],.moments-panel[hidden]{display:none}
.share-help,.share-status{font:.72rem/1.75 var(--sans);color:var(--muted);margin:.65rem 0}
.share-status:empty{display:none}
.share-manual{display:grid;gap:.4rem;font:.72rem var(--sans);color:var(--muted)}
.share-manual input{width:100%;min-width:0;background:transparent;border:1px solid var(--line);color:var(--ink);font:.75rem/1.5 var(--sans);padding:.5rem}
.moments-panel{border-top:1px solid var(--line);padding-top:1.2rem;margin-top:1.2rem;display:grid;grid-template-columns:minmax(0,1fr) 13rem;gap:1.5rem;align-items:start}
.moments-panel h3{font:normal 1rem/1.6 var(--serif);margin:0 0 .6rem;color:var(--navy)}
.share-card-image{display:block;width:100%;height:auto;border:1px solid var(--line)}
.share-download{font:.75rem/1.5 var(--sans);border:1px solid var(--navy);background:var(--navy);color:var(--ivory);padding:.5rem .8rem;margin:.6rem 0;cursor:pointer}
.share-download:disabled{opacity:.6}
.article-sources{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font:.78rem/1.85 var(--sans)}
.article-sources h2{font:500 .82rem/1.6 var(--sans);color:var(--muted);margin:0 0 .65rem}
.article-sources ul{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}
.article-sources li{max-width:100%;overflow-wrap:anywhere}
.article-sources a{text-decoration:underline;text-decoration-color:#c5a05a80;text-underline-offset:3px}
.article-figure{margin:1.8rem 0 2.4rem;max-width:100%}
.article-figure picture{display:block;max-width:45rem;margin-inline:auto}
.article-figure img{display:block;width:100%;height:auto;border-radius:3px}
.detail-body .article-figure figcaption{margin:.7rem 0 0;color:var(--muted);font:400 .82rem/1.8 var(--serif);overflow-wrap:anywhere}
html[lang=en] .detail-body .article-figure figcaption{font-family:var(--latin)}
@media(max-width:1050px){.article-figure picture{max-width:25rem;margin-inline:auto}}
@media(max-width:700px){.share-actions{gap:.5rem}.share-link{padding:.5rem .7rem}.moments-panel{grid-template-columns:1fr;gap:.7rem}.share-card-image{width:min(17rem,100%);margin:auto}}

/* Continuous prose uses lining, proportional numerals rather than table widths. */
.detail-main,.reader-body{font-variant-numeric:lining-nums proportional-nums;font-feature-settings:"lnum" 1,"onum" 0}

/* Chronological links follow sources and keep the reader in the article archive. */
.article-neighbors{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;border-top:1px solid var(--line);margin-top:2rem;padding-top:1.25rem}.article-neighbor{display:flex;flex-direction:column;gap:.5rem;min-width:0;text-decoration:none;color:var(--navy)}.neighbor-label{font-size:.75rem;color:var(--muted);letter-spacing:.02em}.neighbor-title{font:500 1.02rem/1.6 var(--serif);text-wrap:pretty;overflow-wrap:anywhere}.article-neighbor time{font-size:.72rem;color:var(--muted)}.article-neighbor-next{text-align:right;align-items:flex-end}.article-neighbor:hover .neighbor-title{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}.article-neighbors+.detail-footer{border-top:0;margin-top:1.25rem;padding-top:0}html[lang=en] .neighbor-title{font-family:var(--latin);font-weight:500;line-height:1.5}@media(max-width:600px){.article-neighbors{gap:1.25rem;grid-template-columns:minmax(0,1fr)}.article-neighbor-next{border-top:1px solid var(--line);padding-top:1rem}.article-neighbor-empty{display:none}.neighbor-title{font-size:1rem}.article-neighbor:focus-visible{outline:2px solid var(--gold);outline-offset:6px}}
/* Keep every banner in one shared frame, independent of article length. */
.hero.carousel{width:100%;min-width:0}
.hero.carousel #slides{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
.hero.carousel .hero-slide{grid-area:1/1;width:100%;min-width:0;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.hero.carousel .hero-slide[hidden]{display:grid!important;visibility:hidden;pointer-events:none}
.hero.carousel .hero-copy,.hero.carousel .hero-diagram{min-width:0}
.hero.carousel .hero-copy{width:100%}
@media(max-width:1050px){.hero.carousel .hero-slide{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}}
@media(max-width:700px){.hero.carousel .hero-slide{display:flex}.hero.carousel .hero-slide[hidden]{display:flex!important}}

/* Section banners share a compact editorial frame across both languages. */
.research-archive,.theme-index{max-width:74rem;margin-inline:auto}
.theme-index{margin-top:2.3rem}
.column-banner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:2.5rem;width:100%;min-height:15rem;padding:1.8rem 2.4rem;margin-bottom:1.8rem;background-color:var(--navy);background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:48px 48px;color:var(--ivory);border-top:2px solid var(--gold);overflow:hidden}
.column-banner-copy{min-width:0}
.column-banner-label{font:400 .65rem/1.5 var(--sans);letter-spacing:.17em;color:var(--gold);margin:0 0 .65rem}
.column-banner h1{font:400 2rem/1.4 var(--serif);color:var(--ivory);margin:0 0 .65rem;letter-spacing:.025em}
.column-banner-intro{font:400 .9rem/1.8 var(--serif);color:#f2f0e9c9;margin:0;max-width:30rem;text-wrap:pretty}
.column-banner-back{display:inline-block;font:400 .72rem/1.6 var(--sans);color:var(--gold);margin-top:1.1rem}
.column-banner-back:hover{text-decoration:underline;text-underline-offset:4px}
.column-banner-graphic{min-width:0;width:100%;max-width:27rem;justify-self:end}
.column-banner-graphic svg{display:block;width:100%;height:auto;overflow:visible}
.column-banner-graphic text{fill:#f2f0e9bc;font-family:var(--serif);font-size:14px;font-weight:400}
.column-chart-grid{stroke:#f2f0e912;stroke-width:1;fill:none}
.column-chart-primary{fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round}
.column-chart-secondary{fill:none;stroke:#f2f0e966;stroke-width:1.2;stroke-linecap:round}
.column-chart-end{fill:var(--gold)}
.column-theme-lines{fill:none;stroke:#c5a05a60;stroke-width:1}
.column-theme-circle{fill:var(--navy);stroke:#c5a05a95;stroke-width:1}
.column-theme-circle:first-of-type{stroke:var(--gold)}
html[lang=en] .column-banner h1,html[lang=en] .column-banner-intro,html[lang=en] .column-banner-graphic text{font-family:var(--latin)}
html[lang=en] .column-banner h1{letter-spacing:0}
@media(max-width:900px){.column-banner{gap:1.5rem;padding:1.6rem 1.7rem}.column-banner h1{font-size:1.8rem}}
@media(max-width:700px){.theme-index{margin-top:1.6rem}.column-banner{grid-template-columns:minmax(0,1fr);min-height:0;padding:1.5rem;margin-bottom:1.4rem}.column-banner h1{font-size:1.55rem}.column-banner-label{font-size:.6rem}.column-banner-intro{font-size:.86rem}.column-banner-graphic{display:none}.column-banner-back{margin-top:.9rem}}

/* Keep editorial labels intact when a portrait tablet has limited header space. */
.nav>a,.nav>.text-button,.section-heading>a{white-space:nowrap;flex-shrink:0}
@media(min-width:701px) and (max-width:1050px){
  .header-inner{flex-wrap:wrap;gap:.65rem 1rem;padding-block:.9rem}
  .header-inner>.locale-switch{margin-left:auto}
  .header-inner>.nav{order:4;flex-basis:100%;margin-left:0;justify-content:center;padding:.1rem 0;gap:1.5rem}
  html[lang=en] .header-inner>.nav{gap:1.5rem}
}
