/* 0.1.16: private plugin frontend only. No WP admin stylesheet or animation changes. */
@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/NotoSansJP-Regular.woff2") format("woff2")}
@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/NotoSansJP-Medium.woff2") format("woff2")}
@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/NotoSansJP-Bold.woff2") format("woff2")}
.qicp{--c-text:#14263f;--c-text-sub:#14263f;--c-dark:#0f2a4d;--c-accent:#1f5f99;--c-border:#dcdde2;--c-surface:rgba(255,255,255,.82);--w-text:744px;--radius:8px;font-family:"Noto Sans JP",sans-serif;font-size:17px;font-weight:400;line-height:1.85;letter-spacing:.02em;font-synthesis:none}
.qicp :is(h1,h2,h3,p,button,input,select,textarea){font-family:"Noto Sans JP",sans-serif;letter-spacing:.02em}
.qicp p{font-weight:400}
.qicp h1{font-weight:700!important;font-size:34px!important;line-height:1.4!important;color:#0f2a4d}
.qicp h2{font-weight:500!important;font-size:26px!important;line-height:1.45!important;color:#0f2a4d;margin-bottom:24px}
.qicp h3{font-weight:500!important;font-size:19px!important;line-height:1.55!important;color:#0f2a4d}
.qicp :is(.article-block p,.result-item p,.card-body p){font-size:17px;line-height:1.85}
.qicp :is(.lead,.research-hook .lead,.qicp-team-overview>p:first-of-type){font-size:18px;line-height:1.85}
.qicp :is(.article-block p,.lead,.research-hook){max-width:680px}
/* One shared surface class by content role across Home, teams and reading routes. */
.qicp .research-hook{padding:24px 28px;max-width:744px}
.qicp .qicp-team-card{width:min(var(--w-text),100%);margin-bottom:72px;padding:28px 32px}
.qicp :is(.qicp-reading-content .article-block,.qicp-reading-content .member-section){margin-bottom:72px}
.qicp .qicp-team-copy{overflow-wrap:anywhere}
.qicp .qicp-research-example+.qicp-research-example{margin-top:32px;padding-top:32px;border-top:1px solid #dcdde2}
.qicp .qicp-team-copy-keywords{display:flex;flex-wrap:wrap;list-style:none;gap:12px 24px;padding:0;margin:24px 0}
.qicp .qicp-team-copy-keywords li{display:grid;grid-template-columns:12px minmax(0,1fr);gap:6px;align-items:baseline;max-width:100%;font-size:15px;font-weight:500;line-height:1.8}
.qicp .qicp-keyword-marker{color:#1f5f99;align-self:start;margin-top:.35em;width:12px;height:16px;flex:none}
.qicp .qicp-team-copy-keywords span{min-width:0}
.qicp .qicp-team-title>.page-head{position:relative;width:min(var(--w-text),100%);min-height:220px;padding:28px 32px;border:1px solid #dcdde2;overflow:hidden}
.qicp .qicp-team-title>.page-head :is(h1,.meta,.lead){position:relative;z-index:1;max-width:60%}
.qicp .qicp-team-watermark{position:absolute;right:0;top:50%;transform:translateY(-50%);width:46%;height:90%;object-fit:contain;opacity:.14;pointer-events:none;user-select:none}
.qicp .qicp-team-thumbnail{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;padding:16px;pointer-events:none}
.qicp .qicp-other-team{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;min-width:0;width:100%;font-size:16px}
.qicp .qicp-other-team .qicp-team-thumbnail{width:72px;padding:0}
.qicp .team-grid .card-body p{white-space:normal;overflow:visible;text-overflow:clip}
.qicp .team-grid .card-body{padding:20px}
.qicp .card-body{background:transparent}
.qicp :is(.research-emblem,.news-blank){background:transparent}
/* Controls remain opaque; blue is decorative, readable control text exceeds 7:1. */
.qicp :is(input,select,textarea,.qicp-team-toggle,.qicp-bloch-toggle){background:#fff;backdrop-filter:none;color:#14263f}
.qicp .btn{background:#0f2a4d;color:#fff;border-color:#0f2a4d;font-weight:700}
.qicp .btn:hover{background:#14263f;color:#fff}
.qicp :is(.hero,.footer-main) :is(h1,h2,h3){color:#fff}
.qicp .hero .btn{color:#fff}
.qicp .section-title{flex-wrap:wrap}
.qicp .section-title h2{margin-bottom:0}
@media(max-width:959px){.qicp .qicp-team-card{padding:24px}}
@media(max-width:599px){
 .qicp{font-size:16px;line-height:1.8;--w-text:100%}
 .qicp h1{font-size:26px!important}
 .qicp h2{font-size:21px!important}
 .qicp h3{font-size:17px!important}
 .qicp :is(.article-block p,.result-item p,.card-body p,.lead,.research-hook .lead,.qicp-team-overview>p:first-of-type){font-size:16px;line-height:1.8}
 .qicp .qicp-team-card{padding:22px 20px;margin-bottom:48px}
 .qicp :is(.qicp-reading-content .article-block,.qicp-reading-content .member-section){margin-bottom:48px}
 .qicp .qicp-team-title>.page-head{width:100%;padding:22px 20px;min-height:200px;background:var(--c-surface);box-shadow:none}
 .qicp .qicp-team-title>.page-head>*{display:block;padding:0;background:transparent}
 .qicp .qicp-team-title>.page-head :is(h1,.meta,.lead){max-width:50%}
 .qicp .qicp-team-watermark{display:block;max-width:none}
 .qicp .qicp-team-copy-keywords li{font-size:14px}
 .qicp .research-hook{padding:20px 18px}
 .qicp .site-header .header-inner{flex-wrap:wrap;row-gap:8px}
 .qicp .site-header .brand{min-width:min(180px,100%);flex:1 1 180px}
 .qicp .site-header .brand>span{min-width:0}
 .qicp .site-header .menu-toggle{flex-shrink:0}
}
@media print{.qicp :is(.qicp-team-card,.card,.research-hook,.page-head,.article-block){background:#fff;backdrop-filter:none}.qicp .qicp-team-watermark{display:none}}
/* Names are body-text lists; full evidence and metadata remain in saved records. */
.qicp .qicp-general-copy .qicp-showcase-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2.5em;row-gap:.65em;list-style:disc;margin:24px 0;padding:0 0 0 1.3em;font-size:inherit;line-height:inherit}
.qicp .qicp-general-copy .qicp-showcase-list>li{min-width:0;margin:0;padding:0;font-size:inherit;line-height:inherit;overflow-wrap:anywhere}
.qicp .qicp-general-copy :is(.qicp-showcase-list,.qicp-showcase-list>li,.qicp-conference-group){background:transparent;border:0;border-radius:0;box-shadow:none}
.qicp .qicp-conference-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5em;margin:24px 0}
.qicp .qicp-conference-group{min-width:0}
.qicp .qicp-general-copy .qicp-conference-group h3{margin:0 0 .65em;font-size:inherit!important;line-height:inherit}
.qicp .qicp-general-copy .qicp-conference-group .qicp-showcase-list{grid-template-columns:minmax(0,1fr);margin:0}
@media(max-width:759px){.qicp .qicp-conference-groups{grid-template-columns:minmax(0,1fr);gap:1.5em}.qicp .qicp-general-copy .qicp-showcase-list{grid-template-columns:minmax(0,1fr)}}

/* One body-text line separates the About explanation from its navigation cards. */
.qicp .qicp-layout .qicp-general-copy .qicp-about-teams{margin-top:1.85em}

/* MEMBERCARDS: shared horizontal cards; heights grow with names and text size.
   Equal rows apply while collapsed. Detail rows use natural height rather than
   stretching every card to the expanded profile's height. No data is truncated. */
.qicp .member-section>.member-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.qicp .qicp-team-page .member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.qicp .member-grid{align-items:stretch;grid-auto-rows:auto}
.qicp .member-grid:not(:has(>.member-motion)){grid-auto-rows:1fr}
.qicp .member-grid>.member-card{display:grid;grid-template-columns:4.5em minmax(0,1fr);align-items:start;min-height:12em;height:auto;max-height:none;font-size:inherit;overflow:visible}
.qicp .member-grid>.member-card>.avatar{width:100%;height:auto;aspect-ratio:1;min-width:0}
.qicp .member-grid>.member-card>.card-body{align-self:stretch;min-width:0;overflow-wrap:anywhere}
.qicp .member-grid>.member-card .more{margin-top:auto}
.qicp .member-grid>.member-card .member-theme{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;line-height:1.6;min-height:3.2em}
@media(min-width:600px) and (max-width:959px){.qicp .member-section>.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.qicp .member-section>.member-grid,.qicp .qicp-team-page .member-grid{grid-template-columns:minmax(0,1fr)}}

/* MEMBERS4: hidden photos have no empty image frame or reserved column. */
.qicp .member-card.member-text-only,.qicp .member-detail.member-text-only{grid-template-columns:minmax(0,1fr)}
.qicp .member-card.member-text-only{align-items:start}
.qicp .member-profile-section{margin-top:22px}
.qicp .member-profile-section h4{font-size:15px;margin-bottom:8px}
.qicp .member-theme{margin-top:8px;white-space:normal;overflow-wrap:anywhere}

/* Keep the affiliation within its share of the desktop header so navigation stays one row. */
@media(min-width:1200px){
 .qicp .site-header .header-inner{flex-wrap:nowrap;gap:24px}
 .qicp .site-header .brand{flex:1 1 0;min-width:0}
 .qicp .site-header .brand small{max-width:30em;font-size:13px;line-height:1.5}
 .qicp .site-header .nav-area{flex:0 0 auto}
 .qicp .site-header .main-nav{flex-wrap:nowrap;gap:16px}
}
/* Complete English names wrap as words; equal heading space keeps the four cards aligned. */
.qicp .qicp-layout .qicp-full-team-card>h3:lang(en){font-size:16px!important;line-height:1.4!important;min-height:2.8em;overflow-wrap:normal;word-break:normal;text-wrap:balance}
.qicp .qicp-layout .qicp-compact-name:lang(en){overflow-wrap:normal;word-break:normal;font-size:16px;line-height:1.45}
.qicp .qicp-layout .qicp-home>.qicp-title-layer h1{font-size:clamp(24px,3vw,32px)}
.qicp .qicp-layout .hero .qicp-group-name{font-size:clamp(19px,2.4vw,27px);font-weight:600;margin-bottom:8px}
.qicp .qicp-layout .hero .qicp-group-name-en{line-height:1.5}

/* Fixed biography follows the existing reading width and type scale. */
.qicp-biography section{margin-block:2.5rem}
.qicp-biography-entry{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1.25rem;padding:1rem 0;border-bottom:1px solid rgba(120,150,170,.25)}
.qicp-biography-entry dt{font-weight:700;font-variant-numeric:tabular-nums}
.qicp-biography-entry dd{margin:0;overflow-wrap:anywhere;line-height:1.85}
.member-profile-links .qicp-biography-link{display:inline-flex;align-items:center;padding:.45rem .75rem;border:1px solid currentColor;border-radius:.4rem}
@media(max-width:600px){.qicp-biography-entry{grid-template-columns:1fr;gap:.3rem}}
