/* One continuous paper field: editorial type, ink particles and shared contours. */
:root { --paper:#f5f3ec; --ink:#202723; --muted:#6c7269; --line:#d2d5ca; --orange:#c94c30; --sage:#e7e9df; }
.nav { height:86px; }
.brand { font-size:17px; letter-spacing:.015em; }
.brand small { font-size:7px; letter-spacing:.17em; }
.nav nav { gap:27px; }
.nav nav a { position:relative; }
.nav nav a::after { content:""; position:absolute; bottom:9px; left:0; width:100%; height:1px; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.nav nav a:hover::after,.nav nav a[aria-current="page"]::after { transform:scaleX(1); }
.nav-end > a { border:1px solid var(--line); border-radius:50%; width:42px; height:42px; display:grid; place-items:center; padding:0; font-size:10px; transition:border-color .25s,background .25s; }
.nav-end > a:hover { border-color:var(--ink); background:#e8eae0; }
.home-page .hero { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); grid-template-rows:auto 1fr auto; gap:28px 4.5%; min-height:calc(100svh - 86px); height:auto; max-height:none; padding:23px 4.5% 0; }
.hero-top,.hero-bottom { grid-column:1 / -1; }
.home-page .hero { isolation:isolate; overflow:clip; background:radial-gradient(ellipse at 76% 43%,#dbe4d578 0%,#e4e8dc40 30%,transparent 65%); }
.home-page .hero::before { content:""; position:absolute; z-index:-1; width:88%; height:118%; top:-26%; right:-17%; border:1px solid #899c7e18; border-radius:50%; transform:rotate(-28deg); pointer-events:none; }
.home-page .hero::after { content:""; position:absolute; z-index:-1; width:76%; height:98%; top:-17%; right:-13%; border:1px solid #899c7e10; border-radius:50%; transform:rotate(-28deg); pointer-events:none; }
.hero-top { font-size:8px; letter-spacing:.09em; color:#555f55; }
.home-page .hero-copy,html:lang(en) .home-page .hero-copy { width:100%; padding:24px 0 42px; align-self:center; }
.hero .eyebrow { font-size:9px; letter-spacing:.08em; margin-bottom:28px; }
.hero h1 { font-size:clamp(48px,5.25vw,88px); line-height:1.4; letter-spacing:-.067em; font-weight:600; margin-bottom:30px; }
html:lang(en) .hero h1 { font-size:clamp(43px,4.25vw,73px); line-height:1.16; letter-spacing:-.055em; }
.hero h1 > span { display:inline-block; position:relative; }
.hero h1 > span::after { content:""; position:absolute; left:0; bottom:0; height:1px; width:100%; background:currentColor; opacity:.45; }
.hero-description { color:#596155; font-size:12px; line-height:2.2; margin-bottom:30px; }
.hero .circle-link { gap:18px; }
.hero .circle { width:52px; height:52px; background:var(--ink); color:var(--paper); border-color:var(--ink); }
.hero .circle-link:hover .circle { background:var(--orange); border-color:var(--orange); transform:rotate(45deg); }
.hero-bottom { position:relative; inset:auto; padding:18px 0; font-size:8px; }
.hero-bottom a span { display:inline-block; transition:transform .3s; }
.hero-bottom a:hover span { transform:translateY(5px); }
.discipline-strip { background:transparent; color:var(--ink); border-bottom:1px solid var(--line); padding-top:22px; padding-bottom:22px; font-size:9px; }
.discipline-strip i { color:var(--orange); }
.section-label { font-size:10px; letter-spacing:.1em; }
.section-label > span:first-child { display:flex; align-items:center; gap:12px; }
.section-label > span:first-child::before { content:""; width:5px; height:5px; background:var(--orange); }
.about { padding-top:112px; padding-bottom:112px; }
.about h2 { letter-spacing:-.05em; }
.numbers { gap:20px; }
.numbers b { font-size:66px; letter-spacing:-.065em; line-height:1.2; }
.numbers b span { letter-spacing:.02em; }
.numbers > div { border-right:1px solid var(--line); }
.numbers > div:last-child { border:0; }
.research { background:linear-gradient(180deg,var(--paper),#e6eadd 35%,#eceee4 80%,var(--paper)); position:relative; }
.research .section-heading { margin-bottom:55px; }
.research-grid { border:0; gap:16px; }
.research-card,.research-card:first-child,.research-card:last-child { position:relative; padding:25px 26px 30px; border:0; border-top:1px solid #bbc6af; border-bottom:1px solid #bbc6af; background:#f5f3ec50; overflow:hidden; }
.research-card + .research-card { border:0; border-top:1px solid #bbc6af; border-bottom:1px solid #bbc6af; }
.research-card::after { content:""; position:absolute; left:0; bottom:0; height:3px; width:100%; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .4s; }
.research-card:hover,.research-card:focus-visible { background:#f5f3ecb3; }
.research-card:hover::after,.research-card:focus-visible::after { transform:scaleX(1); }
.research-card .card-top > span:last-child { width:30px; height:30px; display:grid; place-items:center; border:1px solid #c7cdbf; border-radius:50%; transition:background .25s,color .25s; }
.research-card:hover .card-top > span:last-child { background:var(--ink); color:var(--paper); }
.research-card .diagram { height:220px; transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.research-card:hover .diagram { transform:scale(1.06) rotate(-5deg); }
.research-card h3 { font-size:clamp(17px,1.65vw,25px); }
.research-card .english { font-size:9px; min-height:30px; }
.research-card p:not(.english) { font-size:12px; color:#58614f; }
.research-card .tag-line { border-top:1px solid var(--line); padding-top:20px; font-size:7px; }
.orbit i { width:170px; height:110px; border-color:#778573; box-shadow:0 0 24px #77857308; }
.orbit b { box-shadow:58px -28px 0 -6px var(--ink),-42px 35px 0 -6px var(--ink),0 0 36px #c94c3045; }
.negotiation i { width:120px; height:120px; }
.negotiation b { background:#eff0e6; border-radius:50%; }
.emergence { gap:15px; }
.emergence i { transition:transform .7s; }
.research-card:hover .emergence i { transform:translateY(calc(var(--i) * -.85px)); }
.research-more { margin-top:35px; }
.people-photo { margin:0 4.5%; height:clamp(300px,40vw,570px); }
.people-photo > img { filter:saturate(.6); }
.photo-caption { padding:75px 30px 28px; }
.portrait { border-radius:2px; }
.person:hover h3 { color:var(--orange); }
.lecture-card { padding:22px 0; border-top-color:#9aa28f; }
.lecture-card h3 { font-size:19px; letter-spacing:-.02em; }
.contact { position:relative; isolation:isolate; overflow:hidden; background:#152824; }
.contact::before { content:""; z-index:-1; position:absolute; width:600px; height:600px; right:-220px; top:-150px; border:1px solid #73928035; border-radius:50%; box-shadow:0 0 0 80px #73928009,0 0 0 160px #73928007; pointer-events:none; }
.contact .section-label > span:first-child::before { background:#c6ddbd; }
.contact-title { border-color:#a6b5a840; }
.contact-title h2 .serif { color:#c6ddbd; }
.contact-arrow { border-color:#a6b5a860; color:#c6ddbd; transition:background .3s,transform .3s; }
.contact-arrow:hover { background:#c6ddbd; color:#152824; transform:rotate(45deg); }
.footer-wordmark { font-weight:600; letter-spacing:-.085em; }
.footer-wordmark > span { font-weight:400; }
.footer-sitemap a span { transition:transform .25s; }
.footer-sitemap a:hover span { transform:translate(3px,-3px); }
.inner-page .page-hero { padding-top:52px; padding-bottom:64px; background:linear-gradient(115deg,var(--paper) 55%,#e8ece1); }
.inner-page .page-hero::after { content:""; position:absolute; right:6%; top:-120px; width:460px; height:460px; border:1px solid #9caa8c40; border-radius:50%; transform:rotate(-35deg) scaleX(.65); box-shadow:0 0 0 40px #9caa8c0c,0 0 0 80px #9caa8c08; pointer-events:none; }
.page-hero h1 { font-weight:500; letter-spacing:-.07em; }
.page-symbol { color:transparent; -webkit-text-stroke:1px #a9b399; right:9%; bottom:5px; font-size:220px; }
.section-nav a { font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
.topic-grid .topic { border-top-color:#b3beaa; }
.topic-grid .topic::before { font-size:9px; }
.archive-tools { background:#e8ece250; padding-left:20px; padding-right:20px; }

/* The sculpture is part of the page, without a panel edge or separate backdrop. */
.home-page .hero .sculpture {
 --stage-line:#a5b19c65; --stage-text:var(--ink); --stage-muted:#687360; --stage-accent:var(--orange);
 position:relative; inset:auto; width:100%; height:clamp(548px,68svh,700px); min-width:0; margin:0;
 display:flex; flex-direction:column; align-self:center; padding:23px 25px 20px;
 color:var(--stage-text); background:transparent;
 border:0; border-radius:0; isolation:isolate; overflow:visible; box-shadow:none;
}
.sculpture::before { content:none; }
.art-header { position:relative; display:flex; flex-shrink:0; justify-content:space-between; gap:15px; font-size:8px; letter-spacing:.12em; color:var(--stage-muted); pointer-events:none; }
.art-header > span:first-child { display:flex; align-items:center; gap:8px; }
.art-header i { width:5px; height:5px; border-radius:50%; background:var(--stage-accent); box-shadow:0 0 0 3px #c94c3010; }
.sculpture[data-paused="true"] .art-header i { background:transparent; box-shadow:none; border:1px solid var(--stage-muted); }
.sculpture #intelligence { position:relative; top:auto; left:auto; width:calc(100% + 50px); height:0; min-height:0; flex:1 1 0; margin:6px -25px 8px; }
.sculpture .art-coordinate { top:67px; right:14px; font-size:6px; letter-spacing:.16em; color:#7e8b75; pointer-events:none; }
.sculpture .swarm-caption { position:relative; inset:auto; flex-shrink:0; border-top:1px solid var(--stage-line); padding-top:15px; }
.swarm-heading { padding-right:42px; }
.swarm-counter { font-size:8px; letter-spacing:.12em; color:#687360; }
.swarm-counter .signal { width:4px; height:4px; background:var(--orange); }
.swarm-caption h2,html:lang(en) .swarm-caption h2 { font-size:14px; line-height:1.65; margin:6px 0 3px; letter-spacing:.01em; color:var(--stage-text); }
.swarm-phase { color:var(--stage-muted); font-size:10px; line-height:1.6; min-height:32px; max-width:96%; }
.swarm-toggle { top:15px; width:32px; height:32px; border-color:#9ca98c80; color:var(--stage-text); font-size:12px; }
.swarm-toggle:hover { background:var(--stage-accent); border-color:var(--stage-accent); color:var(--paper); }
.swarm-progress { height:22px; margin:2px 0 5px; }
.swarm-progress::-webkit-slider-runnable-track { height:1px; background:linear-gradient(to right,var(--stage-accent) var(--progress),var(--stage-line) var(--progress)); }
.swarm-progress::-webkit-slider-thumb { width:7px; height:7px; background:var(--stage-accent); }
.swarm-progress::-moz-range-track { height:1px; background:var(--stage-line); }
.swarm-progress::-moz-range-progress { height:1px; background:var(--stage-accent); }
.swarm-progress::-moz-range-thumb { width:7px; height:7px; background:var(--stage-accent); }
.swarm-scenes { grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px 9px; margin:0; }
.swarm-scenes button { display:flex; align-items:center; justify-content:center; gap:7px; border:0; border-bottom:1px solid var(--stage-line); border-radius:0; padding:7px 0; min-height:34px; color:#687360; font-size:9px; letter-spacing:0; transition:background .25s,border-color .25s,color .25s; }
.swarm-scenes button:nth-last-child(2) { font-size:8px; gap:4px; }
.swarm-scenes .scene-number { font-size:7px; color:#8a957f; font-variant-numeric:tabular-nums; }
.swarm-scenes button[aria-pressed="true"] { color:var(--orange); border-color:var(--orange); background:transparent; }
.swarm-scenes button[aria-pressed="true"] .scene-number { color:var(--orange); }
.swarm-scenes button:hover { border-color:var(--ink); color:var(--ink); background:#d9e1d32e; }
.swarm-scenes button[aria-pressed="true"]:hover { color:var(--orange); background:#c94c3008; }
.sculpture button:focus-visible,.sculpture .swarm-progress:focus-visible { outline:2px solid var(--orange); outline-offset:2px; }
.swarm-fallback { inset:10% 12% 35%; width:76%; height:55%; color:#6d8061; }

@media (min-width:1800px) {
 .home-page .hero { column-gap:6%; }
 .home-page .hero h1 { font-size:90px; }
 html:lang(en) .home-page .hero h1 { font-size:80px; }
}
@media (max-width:1100px) {
 .swarm-scenes { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .swarm-scenes button:nth-last-child(2) { grid-column:span 3; }
 .swarm-scenes button:last-child { grid-column:span 2; }
}
@media (max-width:1100px) and (min-width:721px) {
 .nav { padding-left:4%; padding-right:4%; }
 .nav nav { gap:17px; font-size:10px; }
 .brand { font-size:14px; gap:9px; }
 .brand small { font-size:6px; }
 .brand svg { width:34px; }
 .home-page .hero { min-height:0; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); column-gap:3%; padding-left:4%; padding-right:4%; }
 .hero h1 { font-size:clamp(37px,4.7vw,52px); }
 html:lang(en) .hero h1 { font-size:4.1vw; }
 .hero .eyebrow { font-size:7px; }
 .hero-description { font-size:10px; }
 .hero-description br { display:none; }
 .research-grid { gap:10px; }
 .research-card,.research-card:first-child,.research-card:last-child { padding:20px 16px; }
 .research-card .diagram { height:180px; }
 .home-page .hero .sculpture { height:585px; padding-left:18px; padding-right:18px; }
 .sculpture #intelligence { width:calc(100% + 36px); margin-left:-18px; margin-right:-18px; }
 .art-header { font-size:6px; }
 .swarm-caption h2,html:lang(en) .swarm-caption h2 { font-size:12px; }
 .swarm-phase { font-size:9px; }
 .swarm-scenes button { gap:4px; font-size:8px; }
 html:lang(en) .swarm-scenes .scene-number { display:none; }
}
@media (max-width:720px) {
 .nav { height:76px; padding:0 6%; }
 .nav nav { top:75px; }
 .brand { font-size:14px; }
 .brand small { font-size:6px; }
 .nav-end { gap:15px; }
 .nav-end > a { width:35px; height:35px; font-size:9px; }
 .home-page .hero,html:lang(en) .home-page .hero { display:flex; flex-direction:column; gap:0; padding:22px 6% 0; min-height:0; }
 .hero-top { font-size:6px; gap:12px; }
 .home-page .hero-copy,html:lang(en) .home-page .hero-copy { padding:44px 0 35px; }
 .hero .eyebrow { font-size:7px; margin-bottom:22px; }
 .hero h1 { font-size:clamp(40px,10.6vw,72px); line-height:1.35; margin-bottom:26px; }
 html:lang(en) .hero h1 { font-size:clamp(38px,9.9vw,67px); line-height:1.16; }
 .hero-description { font-size:11px; max-width:440px; margin-bottom:22px; }
 .hero-description br { display:none; }
 .hero .circle { width:44px; height:44px; }
 .hero .circle-link { font-size:11px; gap:14px; }
 .hero-bottom { margin-top:25px; padding:18px 0; font-size:7px; }
 .hero-bottom a { font-size:6px; }
 .discipline-strip { font-size:8px; padding:18px 6%; }
 .about { padding-top:70px; padding-bottom:70px; }
 .section-label { font-size:8px; }
 .section-label > span:first-child { gap:8px; }
 .about h2 { font-size:29px; }
 .numbers { gap:12px; }
 .numbers b { font-size:47px; }
 .numbers b span { font-size:8px; }
 .numbers p { font-size:8px; }
 .research .section-heading { margin-bottom:32px; }
 .research-grid { gap:16px; }
 .research-card,.research-card:first-child,.research-card:last-child { padding:23px; }
 .research-card .diagram { height:190px; }
 .research-card h3 { font-size:22px; }
 .research-card .english { min-height:0; }
 .people-photo { margin:0; height:280px; }
 .photo-caption { padding:60px 6% 22px; font-size:7px; }
 .lecture-card h3 { font-size:20px; }
 .inner-page .page-hero { padding-top:35px; padding-bottom:42px; }
 .page-symbol { font-size:150px; opacity:.5; }
 .inner-page .page-hero::after { right:-100px; }
 .archive-tools { padding-left:12px; padding-right:12px; }
 .section-nav a { font-size:9px; }
 .home-page .hero .sculpture,html:lang(en) .home-page .hero .sculpture { inset:auto; width:100%; height:575px; padding:20px 17px 17px; }
 .sculpture #intelligence { width:calc(100% + 34px); margin-left:-17px; margin-right:-17px; }
 .art-header { font-size:6px; letter-spacing:.1em; }
 .sculpture .art-coordinate { right:0; top:60px; font-size:5px; }
 .sculpture .swarm-caption { padding-top:14px; }
 .swarm-caption h2,html:lang(en) .swarm-caption h2 { font-size:12px; }
 .swarm-counter { font-size:7px; }
 .swarm-phase { font-size:9px; min-height:30px; }
 .swarm-scenes { gap:4px 5px; }
 .swarm-scenes button { min-height:39px; gap:4px; font-size:8px; }
 .swarm-scenes .scene-number { font-size:6px; }
 html:lang(en) .swarm-scenes .scene-number { display:none; }
 .swarm-progress { height:26px; }
}
@media (max-width:360px) {
 .hero h1 { font-size:10.7vw; }
 html:lang(en) .hero h1 { font-size:10.1vw; }
 .brand { gap:7px; font-size:12px; }
 .brand small { font-size:5px; }
 .nav-end { gap:10px; }
 .home-page .hero .sculpture,html:lang(en) .home-page .hero .sculpture { height:550px; }
 .swarm-caption h2,html:lang(en) .swarm-caption h2 { font-size:11px; }
 .swarm-scenes button { gap:2px; font-size:7px; }
 .swarm-scenes .scene-number { display:none; }
}

/* A slightly larger reading scale, shared by every Japanese and English page. */
:root { --reading-text:15px; --brief-text:14px; --secondary-text:12px; }
.hero-description,html:lang(en) .hero-description { font-size:var(--brief-text); line-height:2; }
.about-columns,.philosophy-details,
.section-heading p,.people .section-heading p,.film p,
.research-card p:not(.english),.news-item,.news-entries > .muted {
 font-size:var(--brief-text); line-height:1.95;
}
.research-card .english { font-size:11px; line-height:1.7; min-height:38px; }
.page-content p,.page-content li,.page-content dd { font-size:var(--reading-text); line-height:1.95; }
.page-content h4 { font-size:15px; }
.page-content .lead { font-size:17px; }
.page-hero > p { font-size:18px; }
.person h3,.page-content .person h3 { font-size:16px; line-height:1.6; overflow-wrap:anywhere; }
.person-role,.person-en,.page-content .person-role,.page-content .person-en,
.page-alumni .member .role,.page-alumni .member .alt { font-size:var(--secondary-text); line-height:1.7; }
.page-alumni .member .name { font-size:15px; overflow-wrap:anywhere; }
.news-item time,.lecture-top,.speaker small,.numbers p,
.project dt,.project .badge,.lecture-archive dt,.lecture-archive .tag { font-size:var(--secondary-text); line-height:1.7; }
.speaker,.thesis-list .en,.thesis-list .note,.steps .en { font-size:13px; line-height:1.8; }
.thesis-list .author { font-size:14px; }
.thesis-list .original-title,.thesis-list details summary { font-size:12px; }
.lecture-archive dd { font-size:var(--reading-text); }
.lecture-archive summary { font-size:14px; line-height:1.8; }
.archive-tools label,.archive-count,.project .links { font-size:13px; }
.archive-tools input,.archive-tools select { font-size:15px; }
.text-link,.hero .circle-link { font-size:13px; }
.people-controls button,.people-controls > a { font-size:12px; }
.contact-bottom p { font-size:14px; }
.contact-bottom address { font-size:13px; line-height:2; overflow-wrap:anywhere; }
.footer-sitemap a { font-size:14px; }
.swarm-phase { font-size:12px; line-height:1.7; min-height:41px; }

@media (max-width:1100px) and (min-width:721px) {
 .swarm-phase { font-size:11px; min-height:38px; }
 .home-page .hero .sculpture { height:615px; }
}
@media (max-width:720px) {
 :root { --reading-text:14px; }
 .page-hero > p { font-size:15px; }
 .page-content .lead { font-size:16px; }
 .person h3,.page-content .person h3 { font-size:15px; }
 .research-card .english { min-height:0; }
 .people-controls { flex-wrap:wrap; gap:4px 16px; }
 .archive-tools input,.archive-tools select { font-size:16px; max-width:100%; }
 .contact-bottom > div,html:lang(en) .contact-bottom > div { max-width:100%; }
 .swarm-phase { font-size:11px; min-height:38px; }
 .home-page .hero .sculpture,html:lang(en) .home-page .hero .sculpture { height:605px; }
}
@media (max-width:360px) {
 .home-page .hero .sculpture,html:lang(en) .home-page .hero .sculpture { height:585px; }
}
